上边的监听要加在你登录动作的前边,官方文档:https://playwright.dev/python/docs/next/api/class-page#page-event-request
这是定位到了控件,还获取到了提示框里的返回,你可以用这个事件监听你实际的请求。
page.on("request", lambda request: print(">>", request.method, request.url))
或者开个录屏
无头模式有个小坑的,默认分辨率是 800*600,在 webdriver 和 playwright 里会判断当前分辨率下控件是否被遮挡,遮挡就报错点不到了。所以平常最好是调整跟你平常的浏览器分辨率一致,实际调试的时候也要加上截图才好定位问题。
是的,我这个 mock 行为是用例步骤的一环,实际实践的系统是 UI 自动化测试,做登录拿 token 只是前置初始化的环节,这个系统剩余的测试场景都是登录后的验证。实际执行测试不同系统的需要做的处理应该不同。
。。。被你这么一说。我怎么没想到用 docker 跑。傻了
这种问题我遇到过的场景是浏览器不兼容。原先可以加载的场景用的浏览器也是 chrome 么,为了进一步分析问题,可以比对两边浏览器的 network,看下是否有差异。
加载不出来,要不是前端报错,要不是后端报错。打开 F12 看下控制台和 network 有没有红色的提示,另外这个问题放问答区比较好,我们搞定了还可以拿积分。
= =,还真不支持,我自己试了下也不行。
你上边说的是轮询获取结果来着,我理解 D 接口应该是一个频次高的业务结果查询,看起来是要把 D 接口拿出来,单独设计压测场景。
看起来更像是代码哪里不对哦,要不加个微信私聊吧
看起来好像跟环境无关了,你这执行什么出现的报错
pip 换个源应该就可以了,pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements
我看到项目原文件的 my.cnf 有一些大小写不敏感的配置
我的文件是下边这样,可以直接覆盖修改安装看看
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
socket =/var/lib/mysql/mysql.sock
log-error =/var/log/mysqld.log
pid-file =/var/run/mysqld/mysqld.pid
symbolic-links=0
# 1GB
max_allowed_packet=1073741824
# 大小写不敏感
# lower_case_table_names=1
# 慢查询
slow_query_log = ON
slow_query_log_file = /var/lib/mysql/slow.log
long_query_time = 3
会导致这个问题的原因会有多个,建议补充下
1.这个弹出框的 html;
2.无法成功点击的代码表现(报错、还是提示定位不到又或者是执行成功了,但是界面实际没有点击);
协助问题定位。
获取 sid 的 BeanShell 预处理程序在每个请求前都会重新执行一次,你可能得发下图里的 BeanShell 是怎么写的,大概率执行第二次的时候失败了。
--clean-alluredir
这个命令添加在代码哪里了,可以描述下,该不是跑完后才执行的清除吧。
另外在 jenkins 集成 allure,得确认下 testrun.json 的生成路径。
playwright 支持的是 chromium,和 chrome 是有区别的,对于你想测多个 chrome 浏览器的兼容场景的确是不支持的。
把 logger 里把 error 全部打印出来吧,光看上面的信息,我同意二楼的说法,是无头模式的屏幕尺寸导致控件被遮挡或展示不全。
排查办法:在点击前对页面进行截图
前端性能受测试机的网络、内存、CPU、浏览器等因素影响,保持一样的配置可以得出近似的结果。
你这问题描述略粗糙了,assert title taobao 是怎么写的也需要一并发出来。
sitespeed.io
使用相对路径
//span[text()="内蒙古自治区"]
demo 没错,你的问题应该是为何自己设置的请求头未能正常登录系统,比较简单的方式就是手工登录一遍,脚本登录一遍,对比两侧的请求头就可以了。
可以考虑蓝牙,apple 系列产品可以用 ‘隔空投送’。
手工抓取请求的话,可以通过浏览器的网络模块(F12-network)。
如果是考虑性能对比,我这推荐这个工具 sitespeed,它的 compare 模块可以对比两次访问页面时的花费时间、请求明细、页面大小。
官网:https://www.sitespeed.io/documentation/compare/