Selenium 简明教程
Selenium IDE - Pattern Matching
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 等。
Globbing
Globbing 用于将字符串与 glob(即通配符表达式)相匹配。在 Linux 或 Windows 中搜索特定文件类型(如 .doc、.jpg 等)时,通常用于文件匹配模式。
在 Selenium 中有多种使用 Globbing 的方法,例如 * 用于匹配任何数量或顺序的字符,? 用于匹配一个独特的字符,[] 用于匹配括号内提供的任何一个字符。它是一个字符类。例如,[0-9] 将匹配任何数字。使用 Globbing 进行模式匹配默认情况下在 Selenium 中可用,并且可以选择在 Selenium IDE 中的测试步骤中提及关键字 glob。
让我们以如下页面的示例为例,我们将使用 Globbing 模式匹配来验证文本警报和标题 Selenium - 自动化实践。
要遵循的步骤如下所示 -
Step 1 − 单击浏览器上在安装后显示的 Selenium IDE 扩展。
Step 2 − Selenium IDE 应该与它一起启动,应该显示一个显示该工具版本的欢迎消息。在下图中,安装的版本为 3.17.2。
除此之外,它还为我们提供了选择我们想使用该工具做什么的选项,例如在新项目中记录新测试、打开现有项目、创建新项目和关闭 Selenium IDE。
Step 3 − 单击新建项目链接,然后输入一个项目名称,比如 Please provide a name for your new project 下的 Test7。最后,我们将单击确定按钮。
Step 4 − 我们现在在 Selenium IDE 中准备好了工作区。
Step 5 − 在命令字段中输入 open,在目标字段中输入 https://www.tutorialspoint.com/selenium/ 以启动应用程序。
Step 6 - 在“命令”字段中输入断言文本,在“目标”字段中输入 xpath=/html/body/main/div/div/div[2]/h1,在“值”字段中输入 glob: Alert*。请注意,xpath=/html/body/main/div/div/div[2]/h1 是文本,glob: Alert* 是要匹配的模式的值。
Step 7 - 在“命令”字段中输入断言文本,在“目标”字段中输入 xpath=/html/body/div/header/div[2]/h1,在“值”字段中输入 glob: Selenium - Automation*。请注意,xpath=/html/body/div/header/div[2]/h1 是标题,glob: Selenium - Automation* 是要匹配的模式的值。
Step 8 − 在命令字段中输入 close 以关闭浏览器窗口。
Step 9 - 在左窗格中单击出现的三个点,然后选择“重命名”选项。
Step 10 - 在“重命名测试用例”字段下输入名称(例如 Test14),然后单击“重命名”。输入的名称将显示在 Selenium IDE 的左侧。
Step 11 - 从顶部单击“全部运行测试”,然后等到测试执行完成。在我们的示例中,我们会看到“运行:1”、“失败:0”,以及一个绿色条表示测试成功运行且无任何失败。而且,消息“Test14 完成成功”显示在“日志”下方。
在上述示例中,我们通过 globbing 技术验证了文本。
Exact Matching
精确匹配用于按字符串原样匹配。例如,如果需要与字符串值精确匹配,可以使用精确模式。在精确匹配中,运算符 * 作为普通字符工作,而不是作为模式匹配通配符。让我们使用上面讨论过的相同示例并使用精确模式技术。
要遵循的步骤如下所示 -
Step 1 - 按照前一个示例中的步骤 1 到 5 操作。
Step 2 - 在“命令”字段中输入断言文本,在“目标”字段中输入 xpath=/html/body/main/div/div/div[2]/h1,在“值”字段中输入 exact: Alerts。请注意,xpath=/html/body/main/div/div/div[2]/h1 是文本,exact: Alerts 是要精确匹配的值。
Step 3 - 在“命令”字段中输入断言文本,在“目标”字段中输入 xpath=/html/body/div/header/div[2]/h1,在“值”字段中输入 exact: Selenium - Automation Practice。请注意,xpath=/html/body/div/header/div[2]/h1 是标题,exact: Selenium - Automation Practice 是要精确匹配的值。
Step 4 - 按照前一个示例中的步骤 8 到 11 操作。
Regular Expressions
正则表达式在可用的模式匹配技术中最为有用。Selenium 支持 Javascript 支持的整套正则表达式模式。因此,用户不再受 *、?和 [] globbing 模式的限制。
要使用 RegEx 模式,我们需要用“regexp:”或“regexpi:”作前缀。“regexpi”前缀不区分大小写。glob: 和 exact: 模式是正则表达式模式的子集。使用 glob: 或 exact: 可以完成的所有操作也可以通过 RegExp 的帮助来完成。
可在以下链接找到有关正则表达式的更多信息 -
这结束了我们对 Selenium IDE - 模式匹配教程的全面介绍。我们首先描述了模式匹配的不同方法,例如 globbing、正则表达式和精确匹配,以及如何使用 Selenium。
这让你掌握了 Selenium IDE 中模式匹配的深入知识。明智的做法是继续实践你学到的东西并探索与 Selenium 相关的其他内容,以加深你的理解并拓宽你的视野。