目录
前排提示
使用playwright录制ui操作
创建UI模板
运行用例
查看报告
再次编辑代码
再次查看报告
selenoid服务搭建
配置selenoid服务地址
总结
前排提示
1.使用playwright+[selenoid],可选的远程浏览器执行用例
2.没有采用 PageObjectModule(页面对象模式)
3.基本流程
使用playwright录制ui操作
录制完成后关闭浏览器,会自动保存到当前文件夹下
创建UI模板
按提示将内容复制到页面编辑器中,暂时不用修改内容,提交保存
运行用例
查看报告
因为并没有在脚本中设置流程等,所以看不出效果
再次编辑代码
再次查看报告
此时我们就能看到操作流程了
其他的alluer方法可以自行添加
使用随便测测做ui测试的主体流程就结束
selenoid服务搭建
网上有很多搭建流程,可以自行搜索搭建
docker pull aerokube/selenoid 远程执行器
docker pull aerokube/selenoid-ui:1.10.4 web访问远程浏览器
docker pull selenoid/video-recorder :latest-release 视频录制镜像
可多个:不同版本,不同镜像
docker pull selenoid/vnc:chrome_104.0 浏览器镜像
配置selenoid服务地址
配置好selenoid环境后,就可以在运行时,使用远程浏览器执行了
总结
1.本质上,这就是创建一个临时的py文件去执行,你甚至可以打印一句helloworld而不做任何事
2.为什么没有设计pom?
因为在这个平台的设计理念里,这里不需要pom(至少现在是不需要)
在大佬的指点下明白了一个事情:ui用例它的重点应该是什么,业务流程吗?还是页面交互?
答:页面交互,这是一个相对的答案,需要多个维度衡量,从开发维护成本上就能体现,UI用例的成本是很高的
针对业务流程,我们更应该优先考虑使用api去覆盖,api的业务覆盖能力更强
针对页面交互,我们可以选用点对点的去覆盖,针对某个交互操作去做
当我们的某个ui用例覆盖的交互发生了变化,
如果变化少:就少许的修改文本再保存;
如果变化大:直接删除掉这个文本,重新录制一个在保存
若是能理解:业务流程由api测试去覆盖,页面交互由ui测试去覆盖,那么这个平台就是你需要的
未演示到的内容:
1.数据集提取:用花括号表示
2.数据集导出和导入、选择数据集运行