Selenium 简明教程

Selenium IDE - Assertions Commands

Selenium IDE 中的所有命令都称为 Selenese。借助 Selenese 命令,可以在 Web 应用程序上执行所有操作。Selenese 命令有多种变体 −

  1. * Actions* − 操作命令用于更改应用程序状态。例如,关闭、单击、类型、打开等。

  2. * Accessors* − 访问器命令用于测量应用程序状态并将结果存储在变量中。例如,存储、存储标题、存储文本、存储值等。

  3. Assertions − 断言命令用于验证应用程序状态。它有断言、验证和 waitfor 等子类型。

Basic Assertions Commands

下面列出各种类型的断言命令 −

  1. assert(variable, expected value) − 该命令用于验证变量是否与期望值匹配。该变量将转换为字符串以进行比较。如果断言未通过,则执行将在不匹配处停止。

  2. assert alert(alert text) − 该命令用于验证警报是否包含与警报文本匹配的文本。如果断言未通过,则执行将在不匹配处停止。

  3. assert checked(locator) − 该命令用于验证是否选中了带有定位器值的目标元素。如果断言未通过,则执行将在不匹配处停止。

  4. assert confirmation(text) − 该命令用于验证是否呈现确认信息。如果断言未通过,则执行将在不匹配处停止。

  5. assert editable(locator) − 该命令用于验证定位值的目标元素是否可编辑。如果断言未通过,则执行将在不匹配点停止。

  6. assert element present(locator) − 该命令用于验证定位值的目标元素是否在网页上可用。如果断言未通过,则执行将在不匹配点停止。

  7. assert element not present(locator) − 该命令用于验证定位值的目标元素在网页上不可用。如果断言未通过,则执行将在不匹配点停止。

  8. assert not checked(locator) − 该命令用于验证定位值的目标元素未选中。如果断言未通过,则执行将在不匹配点停止。

  9. assert not editable(locator) − 该命令用于验证定位值的目标元素不可编辑。如果断言未通过,则执行将在不匹配点停止。

  10. assert not selected value(locator, text) − .该命令用于验证目标下拉列表元素所选选项的 value 属性不带给定的文本。如果断言未通过,则执行将在不匹配点停止。

  11. assert not text(locator, text) − 该命令用于验证定位值的目标元素不带给定的文本。

  12. assert prompt(text) − 该命令用于验证是否已渲染提示。如果断言未通过,则执行将在不匹配点停止。

  13. assert selected value(locator, text) − 该命令用于验证目标下拉列表元素所选选项的 value 属性带给定的文本。如果断言未通过,则执行将在不匹配点停止。

  14. assert selected label(locator, text) − 该命令用于验证目标下拉列表元素所选选项的标签带给定的文本。如果断言未通过,则执行将在不匹配点停止。

  15. assert text(locator, text) − 该命令用于验证定位值的目标元素带给定的文本。如果断言未通过,则执行将在不匹配点停止。

  16. assert value(locator, text) − 该命令用于验证编辑框的值。对于单选按钮/复选框,如果已选择或未选择,值将设置为开启/关闭。如果断言未通过,则执行将在不匹配点停止。

  17. verify(variable, expected value) − 该命令用于验证变量是否与预期值匹配。变量转换为字符串进行比较。这是一个软断言,如果不匹配,也不会停止执行。

  18. verify checked(locator) − 该命令用于验证定位值的目标元素已选中。这是一个软断言,如果不匹配,也不会停止执行。

  19. verify editable(locator) − 该命令用于验证定位值的目标元素可编辑。这是一个软断言,如果不匹配,也不会停止执行。

  20. verify element present(locator) − 该命令用于验证定位值的目标元素在网页上可用。这是一个软断言,如果不匹配,也不会停止执行。

  21. verify element not present(locator) − 该命令用于验证定位值的目标元素在网页上不可用。这是一个软断言,如果不匹配,也不会停止执行。

  22. verify not editable(locator) − 该命令用于验证定位值的目标元素不可编辑。这是一个软断言,如果不匹配,也不会停止执行。

  23. verify not selected value(locator, text) − 该命令用于验证目标下拉列表元素所选选项的 value 属性不带给定的文本。这是一个软断言,如果不匹配,也不会停止执行。

  24. verify not text(locator, text) - 此命令用于验证具有定位器值的目标元素是否不具有给定的文本。它是软断言,并且在不匹配的情况下执行将不会停止。

  25. verify selected label(locator, text) - 此命令用于验证目标下拉元素所选选项的标签是否具有给定的文本。它是软断言,并且在不匹配的情况下执行将不会停止。

  26. verify selected value(locator, text) - 此命令用于验证目标下拉元素所选选项的 value 属性是否具有给定的文本。它是软断言,并且在不匹配的情况下执行将不会停止。

  27. verify text(locator, text) - 此命令用于验证具有定位器值的目标元素是否具有给定的文本。它是软断言,并且在不匹配的情况下执行将不会停止。

  28. assert title(text) - 此命令用于验证生成的警报是否具有给定的警报文本。如果断言没有通过,那么执行将在不匹配点停止。

  29. verify value(locator, text) - 此命令用于验证编辑框的值。对于单选按钮/复选框,如果选中或未选中,则该值将被设置为开/关。它是软断言,并且在不匹配的情况下执行将不会停止。

  30. wait for element editable(locator, wait time) - 此命令用于等待给定的等待时间(以毫秒为单位)以使具有定位器值的目标元素可编辑。

  31. wait for element not editable(locator, wait time) - 此命令用于等待给定的等待时间(以毫秒为单位)以使具有定位器值的目标元素不可编辑。

  32. wait for element not present(locator, wait time) - 此命令用于等待给定的等待时间(以毫秒为单位)以使具有定位器值的目标元素在网页上不可用。

  33. wait for element not visible(locator, wait time) - 此命令用于等待给定的等待时间(以毫秒为单位)以使具有定位器值的目标元素在网页上不可见。

  34. wait for element present(locator, wait time) - 此命令用于等待给定的等待时间(以毫秒为单位)以使具有定位器值的目标元素在网页上可用。

  35. wait for element visible(locator, wait time) - 此命令用于等待给定的等待时间(以毫秒为单位)以使具有定位器值的目标元素在网页上可见。

Example

让我们以下面页面的示例为例,其中我们将会单击 Created 链接。

selenium assertions commands 1

我们将会验证其页面标题为 Selenium Practice - Links 。点击创建链接之后,我们还将验证文本 - Link has responded with status 201 and status text Created

selenium assertions commands 2

要遵循的步骤如下所示 -

Step 1 - 执行链接 * Selenium IDE Store Variables* 中描述的步骤 1 到 4

Step 2 - 在命令字段中输入 open,在目标字段中输入 * Selenium Automation Practice Form* 以启动应用程序。

Step 3 - 在命令字段中输入 verify title,在目标字段中输入 Selenium Practice - Links。

Step 4 - 在命令字段中输入 click,xpath=// [@id="created"] in the Target field. Please note, xpath=// [@id="created"] 是链接的定位器值。

Step 5 - 在命令字段中输入 wait for element visible,在目标字段中输入 xpath=/html/body/main/div/div/div[2]/div[1],在值字段中输入 30000。请注意,xpath=/html/body/main/div/div/div[2]/div[1] 是要显示的文本的定位器值。

Step 6 - 在命令字段中输入 assert text,在目标字段中输入 xpath=/html/body/main/div/div/div[2]/div[1],在值字段中输入 Link has responded with status 201 and status text Created。请注意,xpath=/html/body/main/div/div/div[2]/div[1] 是文本的定位器值。

Step 7 - 在命令字段中输入 close 以关闭浏览器。

selenium assertions commands 5

Step 8 - 单击顶部的“运行所有测试”,并等待测试执行结束。

selenium assertions commands 6

在上面的示例中,我们启动了应用程序并使用 assertions 命令 verify title 验证了其页面标题 Selenium Practice - Links 。然后单击了 Created 链接,并使用 assertions 命令 wait for element visible 等待文本 Link has responded with status 201 and status text Created 可见,并使用另一个 assertions 命令 assert text 验证了文本。

Conclusion

这结束了我们对 Selenium IDE 断言命令教程的全面介绍。我们从描述各种断言命令和示例开始,逐步了解如何将断言命令与 Selenium 一起使用。这使你具备了对 Selenium IDE 中的断言命令的深入了解。明智的做法是不断练习你学到的知识,并探索与 Selenium 相关的其他知识,以加深理解并拓宽视野。