使用 selenium IDE 进行提示文本测试

Hint text testing using selenium IDE

我正在学习 selenium IDE。

为了学习和测试,我选择了流行的社交 wbsite 的 'Sign Up' 页面。

在此页面上,我们可以看到几个带有提示文本的文本字段。(例如:名字)。

我想Assert/verify这个文本,如果它在那个特定的文本字段中'present or not'。

为此,我编写了以下脚本:

assertTextPresent |   //*[@id='.....'] |  First name
assertText        |   //*[@id='.....'] |  First name
verifyTextPresent |   //*[@id='.....'] |  First name
verifyText        |   //*[@id='.....'] |  First name

但是每次执行脚本时,我都会得到这样的结果:

[info] Executing: |assertTextPresent | //*[@id='u_0_1'] | First name |
[error] false 

[info] Executing: |assertText | //*[@id='u_0_1'] | First name |
[error] Actual value '' did not match 'First name' 

[info] Executing: |verifyTextPresent | //*[@id='u_0_1'] | First name |

[info] Executing: |verifyText | //*[@id='u_0_1'] | First name | 

所以有人可以建议我正确的测试脚本 'Hint text' 吗?

如果您使用 IDE 并右键单击字段中的该文本,它实际上并不存在。使用检查元素,你会发现它是 "hidden"。

您需要找到定义提示文本的元素。例如,该站点上的搜索字段具有提示文本'search',其代码为:

<form id="search" autocomplete="off" method="get" action="/search">
<input type="text" maxlength="240" autocomplete="off" tabindex="1" 
value="" placeholder="search" name="q" style="display: inline-block; 
width: 188px; max-width: 188px;">
</form>

所以它是包含文本的 'placeholder' 属性,所以您可以做的是:

<tr>
<td>verifyAttribute</td>
<td>name=q@placeholder</td>
<td>search</td>
</tr>

您只需将目标字段中的 locator/attribute 名称替换为您正在测试的内容,然后将值替换为它应该的值。