• Selenium Video Tutorials

Selenium IDE - 模式匹配



Selenium IDE 可用于测试的模式匹配,特别是需要验证场景的测试。与定位器一样,模式是 Selenium 经常使用的参数类型。它允许用户借助特殊字符来描述模式。很多时候,我们想要验证的文本是动态的,在这种情况下,模式匹配非常有用。

模式匹配通常与所有验证点命令一起使用,例如 verify text、verify not text、verify title、verify value、verify、assert text、assert alert、assert not text、assert prompt、assert selected value、assert title、assert not selected value、assert selected label 等等。

模式匹配的不同方法

  • 通配符

  • 正则表达式

  • 精确匹配

通配符

通配符用于根据通配符(即通配符表达式)匹配字符串。在 Linux 或 Windows 中搜索特定文件类型(例如 *.doc、*.jpg 等)时,它通常用于文件匹配模式。

在 Selenium 中有多种使用通配符的方法,例如 * 用于匹配任意数量或顺序的字符,?用于匹配唯一字符,以及 [] 用于匹配括号内提供的任意一个字符。它是一个字符类。例如,[0-9] 将匹配任何数字。Selenium 中默认提供使用通配符的模式匹配,并且可以选择在 Selenium IDE 的测试步骤中提及关键字 glob。

让我们以以下页面为例,我们将使用通配符模式匹配验证文本“Alerts”和标题“Selenium - Automation Practice”。

Selenium IDE Pattern Matching 1

以下是需要遵循的步骤:

步骤 1 - 单击安装后在浏览器上可见的 Selenium IDE 扩展。

步骤 2 - Selenium IDE 应该启动,并显示带有工具版本的欢迎消息。在下图中,安装的版本为 3.17.2。

此外,它还提供了一些选项,让我们可以选择如何使用该工具,例如在新的项目中记录新的测试、打开现有项目、创建新项目和关闭 Selenium IDE。

步骤 3 - 单击“创建新项目”链接,然后输入项目名称,例如在“请为您的新项目提供一个名称”下输入 Test7。最后,我们将单击“确定”按钮。

步骤 4 - 我们现在可以在 Selenium IDE 中准备好工作区了。

步骤 5 - 在“命令”字段中输入 open,在“目标”字段中输入 https://tutorialspoint.com/selenium/ 以启动应用程序。

步骤 6 - 在“命令”字段中输入 assert text,在“目标”字段中输入 xpath=/html/body/main/div/div/div[2]/h1,在“值”字段中输入 glob: Alert*。请注意,xpath=/html/body/main/div/div/div[2]/h1 是文本,glob: Alert* 是要匹配的模式值。

步骤 7 - 在“命令”字段中输入 assert text,在“目标”字段中输入 xpath=/html/body/div/header/div[2]/h1,在“值”字段中输入 glob: Selenium - Automation*。请注意,xpath=/html/body/div/header/div[2]/h1 是标题,glob: Selenium - Automation* 是要匹配的模式值。

步骤 8 - 在“命令”字段中输入 close 以关闭浏览器窗口。

Selenium IDE Pattern Matching 2

步骤 9 - 单击左窗格中出现的三个点,然后选择“重命名”选项。

步骤 10 - 在“重命名测试用例”字段下输入名称,例如 Test14,然后单击“重命名”。输入的名称将显示在 Selenium IDE 的左侧。

步骤 11 - 单击顶部的“运行所有测试”,然后等待测试执行完成。在我们的示例中,我们将看到运行:1,失败:0,以及一个绿色条,表示测试成功运行而没有失败。此外,消息“Test14 完成成功”出现在日志下。

在上面的示例中,我们使用通配符验证了文本。

精确匹配

精确匹配用于按原样匹配字符串。例如,如果需要与字符串值进行精确匹配,则可以使用精确模式。在精确匹配中,运算符 * 作为普通字符工作,而不是用于模式匹配的通配符。让我们采用与上面讨论的相同的示例,并使用精确模式技术。

以下是需要遵循的步骤:

步骤 1 - 遵循前面示例的步骤 1 到 5。

步骤 2 - 在“命令”字段中输入 assert text,在“目标”字段中输入 xpath=/html/body/main/div/div/div[2]/h1,在“值”字段中输入 exact: Alerts。请注意,xpath=/html/body/main/div/div/div[2]/h1 是文本,exact: Alerts 是要精确匹配的值。

步骤 3 - 在“命令”字段中输入 assert text,在“目标”字段中输入 xpath=/html/body/div/header/div[2]/h1,在“值”字段中输入 exact: Selenium - Automation Practice。请注意,xpath=/html/body/div/header/div[2]/h1 是标题,exact: Selenium - Automation Practice 是要精确匹配的值。

步骤 4 - 遵循前面示例的步骤 8 到 11。

正则表达式

正则表达式是可用模式匹配技术中最有用的。Selenium 支持 Javascript 支持的完整正则表达式模式集。因此,用户不再受限于 *、?和 [] 通配符模式。

要使用 RegEx 模式,我们需要以“regexp:”或“regexpi:”为前缀。“regexpi”前缀不区分大小写。glob: 和 exact: 模式是正则表达式模式的子集。使用 glob: 或 exact: 完成的所有操作都可以借助 RegExp 来完成。

更多关于正则表达式的信息,请访问以下链接:

https://tutorialspoint.com/javascript/javascript_regexp_object.htm

本教程对 Selenium IDE 的模式匹配进行了全面讲解。我们首先介绍了不同的模式匹配方法,例如通配符、正则表达式和精确匹配,以及如何在 Selenium 中使用它们。

这将使您深入了解 Selenium IDE 中的模式匹配。建议您多加练习所学内容,并探索与 Selenium 相关的其他知识,以加深理解并拓宽视野。

广告