Selenium IDE 命令和assertTextPresent 不起作用

标签 selenium selenium-webdriver selenium-ide

我正在尝试在 Selenium IDE (Firefox) 中使用命令“assertTextPresent”。我是这样配置的:

Command: assertTextPresent
Target: <th align="center" abbr="Monday" scope="col" style="background-color:#EFEDF5;font-weight:normal;">Mon</th><th align="center" abbr="Tuesday" (truncated for brevity)
Value: (left empty)

据我所知,Selenium 没有将我的“目标”与渲染页面的源相匹配,因为其中包含 HTML 代码。所以即使应该通过,它总是失败。我怎样才能使这个断言起作用?

最佳答案

assertTextPresent查找您指定位于页面上任意位置的值。您在目标中传递的值是 IDE 正在查找的文本。它实际上是在寻找整个 <th>标记为“文本”显示在页面上的某处,我假设它没有显示。

使用该函数的正确方法是传递您在目标中查找的文本,例如“Mon”或您要查找的任何内容。请记住,这是区分大小写的。由于此函数不关心它的外观,因此您无需指定实际目标。我发现在大多数情况下,这个函数通常没有足够的特异性来可靠。

<tr>
    <td>assertTextPresent</td>
    <td>Mon</td>
    <td></td>
</tr>

我更喜欢使用assertTextverifyText因为它需要一个目标,让您可以更具体地查找文本的位置。

<tr>
    <td>assertText</td>
    <td>css=th[abbr="Monday"]</td>
    <td>Mon</td>
</tr> 

我不完全确定abbr属性将是一个有效的选择器。有很多方法可以定位您的元素,我只是将其用作一个简单的示例,因为它是您的代码片段的一部分。

关于Selenium IDE 命令和assertTextPresent 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14756685/

相关文章:

java - 如何在类中使用字符串作为变量传递字符串作为参数

php - 使用 Selenium 通过测试帐户登录 Facebook

javascript - 如何过滤掉 Protractor 中启用的按钮?

java - Selenium IDE-自动将html转换为junit

javascript - 使用 Selenium 和 java 测试 React JS 下拉列表

python - 使用 Selenium 和 Python 在网站页面上迭代和收集数据

selenium - 使用 Robot Framework 执行 selenium 示例时出错

java - ChromeDriver 需要安装 Chrome 吗?

c# - 如何从浏览器控件的 onclick 中获取实际的 JavaScript 值?

javascript - Selenium IDE 在 javascript 命令中使用存储变量