本文主要讲解“pythonplaywright自动等待和断言示例分析”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“pythonplaywright自动等待和断言分析”!
00-1010操作元素的一系列方法,只要调用测试文件夹功能页面,操作元素的方法就可以画出来:
importpytest
from剧作家. _ apiimportPage
灵巧的例子(第:页):
page.goto('https://www.baidu.com ')
page . hover('//*[@ id=' u1 ']/*[text()=' setting ']')
page . click('/*[@ ID=' s-用户-设置-菜单']/* [text ()='搜索设置']'
Page.set_checked('//*[text()='所有语言']',False)
Assertpage.title()=='百度,你就知道'
page.close()
if__name__=='__main__':
Py.main (['-v ',' test _ example.py'])剧作家将在执行元素之前执行一系列可操作性检查,以确保这些操作按预期运行。在执行请求的操作之前,它将自动等待所有相关检查通过。如果所需的检查在给定的范围内失败,将引发超时,操作将失败并显示超时错误。
方法如下:
00-1010 page . dblclick()
自动等待及元素执行方法
#获取元素并聚焦。如果没有匹配的元素,该方法等待匹配的元素出现在DOM中。
Page.focus('#su')
鼠标双击
#表示鼠标放在按钮上。这种方法是针对那种浮箱操作的。
page . hover('//*[@ ID=' u1 ']/* [text ()=' setting ']')
获取元素焦点
page . click('/*[@ ID=' s-用户-设置-菜单']/*[text()[@ ID=' s-用户-设置-菜单']/*[text()='搜索设置']')
鼠标悬停
#确保元素是复选框或单选框。如果取消选择该元素,此方法将立即返回。
Page.uncheck('//*[text()='仅限简体中文']')
鼠标点击
#此方法关注元素,事件在输入值后触发。您也可以传递一个空字符串来清除输入字段。
page . fill(' kw ','秦岳')
设置复选框取消或选中
#返回元素属性值。
不间断空格
; page.get_attribute('#kw', 'name')
获取内部文本
page.inner_text('//*[@id="s-hotsearch-wrapper"]//*[@data-index="2"]//*[@class="title-content-title"]')
获取内部HTML
page.inner_html('//*[@id="s-hotsearch-wrapper"]//*[@data-index="2"]')
获取文本内容
page.text_content('//*[@id="s-hotsearch-wrapper"]//*[@data-index="2"]')
截图
# baidu.png存放至当前文件夹下的cases文件夹种 page.screenshot(path='./cases/baidu.png')
填写文本并触发键盘事件
# 为文本中的每个字符发送一个keydown、keypress/input和keyup事件。 page.type("#kw", "hello")
输入键盘操作
# 获取按钮元素,输入键盘操作 page.press('#su', 'Enter')
设置select下拉选项
# 与值匹配的单个选择 page.select_option(\"select#colors\", \"blue\") # 与标签匹配的单个选择 page.select_option(\"select#colors\", label=\"blue\") # 多项选择 page.select_option(\"select#colors\", value=[\"red\", \"green\", \"blue\"])
调度事件
# type可传:"click", "dragstart" page.dispatch_event('#su', 'click')
检查点(断言)
文字内容断言
# 获取文本内容,进行断言 content = page.text_content('[target="_blank"]:first-child') assert content == "新闻"
内部文字断言
# 获取内部文字,进行断言 text = page.inner_text('[target="_blank"]:first-child') assert text == "新闻"
属性断言
# 获取属性值,进行断言 attribute = page.get_attribute('#su', 'value') assert attribute == "百度一下"
复选框断言
page.hover('//*[@id="u1"]/*[text()="设置"]') page.click('//*[@id="s-user-setting-menu"]//*[text()="搜索设置"]') # 复选框状态,进行断言 checked = page.is_checked('//*[text()="全部语言"]') assert checked
js表达式断言
# JS表达式,进行断言 js_content = page.locator('[data-index="4"]>a>[class="title-content-title"]').text_content() assert js_content == "长津湖超战狼2成中国影史票房冠军"
内部HTML断言
# 内部 HTML ,进行断言 html = page.inner_html('[class="hot-title"]') assert "百度热搜" in html
元素可见断言
# 元素可见性 ,进行断言 visible = page.is_visible('#su') assert visible
启动状态断言
# 启用状态(元素存在可点击) ,进行断言 enabled = page.is_enabled('#su') assert enabled
直接对比断言
assert page.title() == "百度一下,你就知道"
playwright还提供了自定义断言,这一块我还没有实操过,有兴趣可的可继续研究下:
# 断言本地存储值 user_id = page.evaluate("() => window.localStorage.getItem('user_id')") assert user_id # 断言输入元素的值 value = page.locator('#search').input_value() assert value == 'query' # 断言计算样式 font_size = page.locator('div').evaluate('el => window.getComputedStyle(el).fontSize') assert font_size == '16px' # 断言列表长度 length = page.locator('li.selected').count() assert length == 3
到此,相信大家对“python playwright自动等待和断言举例分析”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/119052.html