【playwright】新一代自动化测试神器playwright+python系列课程05_playwright元素定位2_推荐的定位方法get_by_xxx
page.get_by_role()通过显式和隐式可访问性属性进行定位。page.get_by_text()通过文本内容定位。page.get_by_label()通过关联标签的文本定位表单控件。page.get_by_placeholder()按占位符定位输入。page.get_by_alt_text()通过替代文本定位元素,通常是图像。page.get_by_title()通过标题属性定位元素
playwright元素定位_推荐的定位方法get_by_xxx
以下是 playwright 推荐的元素定位方法。
page.get_by_role()通过显式和隐式可访问性属性进行定位。
page.get_by_text()通过文本内容定位。
page.get_by_label()通过关联标签的文本定位表单控件。
page.get_by_placeholder()按占位符定位输入。
page.get_by_alt_text()通过替代文本定位元素,通常是图像。
page.get_by_title()通过标题属性定位元素。
page.get_by_test_id()根据data-testid属性定位元素(可以配置其他属性)。
1、 get_by_role():根据元素角色进行定位, 常用的参数有两个,第一个是角色名称 role,第二个是元素的文本 name。其他参数的解释大家可以参考源码注释。
定位页面中名称为登录的按钮:
page.get_by_role("button", name="登录").click()
playwright 有大量的角色可以供我们选择,下面是源码内的可定位的角色名称:
2、 get_by_text():根据界面文本信息进行定位。包含两个参数,一个是 text标识定位的文本内容,第二个是 exact 表示是否精确匹配。
定位文字信息包含登录的元素
page.get_by_text('登录') # 定位到两个元素
定位文字信息为登录的元素
page.get_by_text('登录',exact=True) # 定位到一个元素
3、 get_by_placeholder():根据placeholder属性进行定位,也就是我们输入框的提示信息。他的参数和 get_by_text相同。
定位提示信息为 模块名称 的输入框
page.get_by_placeholder('模块名称', exact=True)
4、 get_by_title():根据title属性进行定位,参数和 get_by_text相同。
定位title为 集团职能部 的元素
page. get_by_title('集团职能部', exact=True)
5、 get_by_label():允许按关联
<input aria-label="Username">
<label for="password-input">Password:</label>
<input id="password-input">
#aria-label定位:
page.get_by_label("Username")
label元素文本定位
page.get_by_label("Password")
大多数表单控件通常都有专用标签,可以方便地用于与表单交互。在这种情况下,您可以使用 page.get_by_label()通过其关联标签定位控件。
6、 page.get_by_alt_text():通过替代文定位元素,通常是图像。
page.get_by_alt_text(“playwright logo”).click()
当元素支持替代文本(例如img和area元素)时使用此定位器。
7、 get_by_test_id():根据data-testid属性定位元素(可以配置其他属性)。
通过测试 ID 进行测试是最具弹性的测试方式,因为即使您的文本或属性角色发生变化,测试仍 会通过。QA 和开发人员应该定义明确的测试 ID 并使用page.get_by_test_id()查询它们。但是, 通过测试 ID 进行的测试不是面向用户的。 不常用,一般都是页面没有可定位元素,让研发增加定位的选项。
更多推荐
所有评论(0)