qtaf+playwright
playwright 实现浏览器驱动,元素定位 ,元素操作,断言等,同时还支持录制生成代码
一、自动化执行使用qtaf框架
安装:pip install qtaf -y
GitHub - Tencent/QTAF: QTA test framework
用例编写规范
用例描述:简要说明用例的标题
owner:用例作者
timeout: 脚本超时时间
priority:脚本的优先级
status:脚本的状态
二、playwright 安装
playwright官方参考文档 :Installation | Playwright
4.1 安装python3环境
4.2 pip install playwright -y
4.3 安装所需要的浏览器(chromium,fiefox 和webkit)
playwright install
三、playwright元素定位
推荐的内置定位器。
-
page.getByRole()通过显式和隐式辅助功能属性进行定位。
-
page.getByText()按文本内容定位。
-
page.getByLabel()通过关联标签的文本定位表单控件。
-
page.getByPlaceholder()通过占位符定位输入。
-
page.getByAltText()通过替代文本来定位元素(通常是图像)。
-
page.getByTitle()通过元素的标题属性来定位元素。
-
page.getByTestId()根据元素的
data-testid
属性定位元素(可以配置其他属性) -
同时,支持xpath css定位
四、自动生成代码
playwright codegen [options] [url]命令详细说明
options参数:
-o, --output <file name> :保存生成脚本
--target <language> :生成的脚本语言,可以设置javascript, test, python, python-async和csharp,默认为python。
-b, --browser <browserType> :要使用的浏览器,可以选择cr, chromium, ff, firefox, wk和webkit,默认chromium。
--channel <channel>:chromium版本,比如chrome, chrome-beta, msedge-dev等,
--color-scheme <scheme>:模拟器的颜色主题,可选择light 或者 dark样式。
--device <deviceName> :模拟的设备,比如iPhone 12。
--save-storage <filename> :保存上下文状态,用于保存cookies 和localStorage,可用它来实现重用。例如playwright codegen --save-storage=auth.json
--load-storage <filename> :加载--save-storage 保存的数据,重用认证数据。
--proxy-server <proxy> :指定代理服务器
--timezone <time zone> : 指定时区
--geolocation <coordinates> :指定地理位置坐标
--lang <language> :指定语言/地区,比如中国大陆:zh-CN
--timeout <timeout> :超时时间,定位毫秒,默认10000ms
--user-agent <ua string> :用户代理
--viewport-size <size> :浏览器窗口大小
-h, --help :查看帮助信息
在终端输入playwirght codegen 被测平台地址:
playwright codegen --viewport-size=800,600 --channel chrome https://www.baidu.com/
会自动调起浏览器,打开被测页面,手动操作页面,侧playwright会自动生成代码
五、 playwright在页面中加入 等待或者刷新页面
有时打开测试环境 ,可能响应比较慢,或者没有加载出来 ,所以在代码中增加必要的等待或者刷新操作,提高用例的稳定性
等待:page.wait_for_timeout(3000) #等待3s
刷新页面:page.reload() #刷新页面