Selenium教程

Selenium 通过XPath定位

XPath是用于在XML文档中定位节点的语言。 当您没有要查找的元素的合适的id或name属性时,XPath可以用作替代品。 XPath提供了以下定位策略: XPath绝对 XPath属性

XPath绝对(不推荐)

XPath Absolute使用户能够提及从根HTML标记到特定元素的完整XPath位置。 不建议使用它,因为它使用了完整的XPath位置,并且如果更改了Web元素的位置或它属于其他父对象,则XPath将无法找到所需的元素。 语法: //html/body/tag1 [index]/tag2 [index]/.../tagN [index] 示例: //html/body/div [2]/div/div [2]/div/div/div/div/fieldset/form/div [1]/input [1]

XPath属性

当您对要定位的元素没有合适的id或name属性时,始终建议使用XPath属性。 XPath属性允许我们使用其不同的属性来定位Web元素。 语法: //htmltag [@ attribute1 ='value1'和@ attribute2 ='value2'] 示例: //输入[@ id ='passwd'和@ placeholder ='password']
让我们考虑一个示例,该示例说明如何将XPath用作Selenium IDE中命令的目标。
我们将创建一个登录测试,以便您可以更好地了解定位XPath中的元素。由于不建议使用XPath Absolute,因此我们将使用XPath属性来定位Web元素。
启动Firefox浏览器。 单击浏览器右上角显示的Selenium图标。 它将启动Selenium IDE的默认界面。 单击"测试脚本编辑器"框中显示的命令文本框。
通过XPath的SeleniumIDE定位策略
将第一个命令的属性修改为: 命令: 打开 目标: https://www.testandquiz.com/user-login 执行后,此命令将在Firefox浏览器中加载"测试和测验"登录页面。
XPath的SeleniumIDE定位策略
对于要输入的第二个命令,我们需要"用户名"文本框的标识元素,这将帮助IDE标识目标位置。
右键单击用户名文本框,然后选择检查元素。
XPath的SeleniumIDE定位策略
它将启动一个窗口,其中包含开发"用户名"文本框所涉及的所有特定代码。
XPath的SeleniumIDE定位策略
因此,我们可以看到开发"用户名"文本框所涉及的标识元素包括: id,类,名称和占位符。

Selenium IDE定位策略通过XPath
因此,我们将"用户名"文本框的XPath属性编写为: //输入[@ id ="email"和@ placeholder ="Email"]
将第二条命令的属性修改为: 命令: 点击 目标: //输入[@ id ="email"和@ placeholder ="Email"] 执行此命令后,将单击"用户名"文本框。
XPath的SeleniumIDE定位策略
我们将在下一个命令中使用相同的XPath属性,该命令涉及在"用户名"文本框中键入用户名作为登录凭据。
将第三条命令的属性修改为: 命令: 键入 目标: //输入[@ id ="email"和@ placeholder ="Email"] 值: 用户名 执行后,此命令将在"用户名"文本框中键入用户名。
XPath的SeleniumIDE定位策略
现在,我们将添加一个命令,该命令将单击"密码"文本框。对于此命令,我们需要"密码"文本框的标识元素,这将帮助IDE标识目标位置。
右键单击"密码"文本框,然后选择"检查元素"。
XPath的SeleniumIDE定位策略 它将启动一个窗口,其中包含开发"密码"文本框所涉及的所有特定代码。
XPath的SeleniumIDE定位策略
因此,我们可以看到开发"密码"文本框所涉及的标识元素包括: id,类,名称和占位符。

Selenium IDE Locating Strategies By XPath
因此,我们将" Password"文本框的XPath属性编写为: //输入[@ id ="password"和@ placeholder ="Password"]
将第四个命令的属性修改为: 命令: 单击 目标: //输入[@ id ="password"和@ placeholder ="Password"] 执行后,此命令将单击"密码"文本框。
XPath的SeleniumIDE定位策略
我们将在下一个命令中使用相同的XPath属性,其中涉及在"密码"文本框中键入密码作为登录凭据。
将第五条命令的属性修改为: 命令: 键入 目标: //输入[@ id ="password"和@ placeholder ="Password"] 值: *******(用户登录密码) 执行后,此命令将在"密码"文本框中键入用户登录密码。
XPath的SeleniumIDE定位策略
最后,我们需要"登录提交"按钮的标识元素,这将帮助IDE标识目标位置。
右键单击"登录"按钮,然后选择"检查元素"。
XPath的SeleniumIDE定位策略 它将启动一个窗口,其中包含开发"登录"提交按钮所涉及的所有特定代码。
XPath的SeleniumIDE定位策略
因此,我们可以看到开发"登录"提交按钮所涉及的标识元素包括: 类,类型和链接。
Selenium IDE定位策略通过XPath
因此,我们将"登录"按钮的XPath属性编写为: //button [@ class ="btn btn btn-primary"和@ type ="submit"]
将第六条命令的属性修改为: 命令: 点击 目标: //button [@ class ="btn btn btn-primary"和@ type ="submit"] 执行后,此命令将单击"登录"提交按钮。
XPath的SeleniumIDE定位策略
单击IDE工具栏菜单上的"运行当前测试"按钮。它将在浏览器上执行所有插入的命令,并为您提供已执行测试脚本的总体摘要。 "日志"窗格显示已执行的测试脚本的总体摘要。
通过XPath的SeleniumIDE定位策略
因此,您可以看到我们已经使用XPath定位器作为目标我们大多数的Selenium命令。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4