【发布时间】:2015-05-09 05:05:06
【问题描述】:
我的目标是验证一个复杂的 TD 单元格的内容。它包含一个 SPAN 标签和许多 BR 标签。我仅限于使用 Selenium IDE 进行此测试。源文本如下所示:
<td>
<span><b style="whatever">TEXT_1</b></span>
<br style="whatever">
TEXT_2
<br style="whatever">
TEXT_3
<br>
</td>
TEXT_1 / TEXT_2 / TEXT_3 都不包含任何空格。
我将 TD 内容提取到变量“td_cell_contents”中。然后使用 Javascript 将该变量拆分为一个空格:
store | javascript{storedVars['td_cell_contents'].split(' ')[0]} | var_1
store | javascript{storedVars['td_cell_contents'].split(' ')[1]} | var_2
var_1 计算结果为“TEXT_1”,正如我所料,因为它与单元格的其余部分之间有一个空格。 当我回显 var_2 时,日志文件显示这是“TEXT_2”和“TEXT_3”之间的新行,正如我所料,因为它们之间有一个 BR 标签:
[info] echo: var_2: TEXT 2
TEXT 3
我尝试使用 JavaScript 去除换行符,因为这个换行符使得强比较变得非常困难:
runScript | var_2 = var_2.replace(/(?:\r\n|\r|\n)/g, '<br />'); |
当我再次为 var_2 运行 echo 命令时,日志显示换行符仍然存在。它阻止了进行字符串匹配的能力。
寻求帮助...并且愿意在 Selenium IDE 中使用其他方法。如果我可以在不删除换行符的情况下以某种方式验证单元格内容,那对我来说很好。
【问题讨论】:
标签: javascript selenium ide newline