我喜爱 Playwright!这是微软开源的一款十分弱小的自动化工具,再过几年,他很有可能取代 Selenium 在浏览器自动化的告诉位置。应用过一段时间,我没有找到很好的中文材料能够参考,导致很多问题无奈失去及时解决,因而我决定本人记录一下应用的笔记,算是给社区回馈。
在编写 web 自动化测试用例时,代码编写的速度是否快,会影响框架的应用体验。当初很多的框架都会提供一些辅助性能,帮忙咱们更快的去编写自动化测试代码,而录制性能是简直所有的 web 自动化工具都会带的性能。
在实际操作过程中,有 2 个问题影响代码编写速度。第一个问题,每次操作前都须要先定位元素,须要编写元素定位选择器,这须要咱们频繁查看网页的源代码,如果元素选择器编写不够标准,会引发测试用例失败。第二个问题,每一步操作都要调用对应的 api 函数,如果这些函数应用不标准,也会影响编程的速度和用例通过。
录制性能帮忙咱们解决这些问题。应用录制性能时,主动关上浏览器,接下来咱们能够手工在浏览器页面上进行操作,每个操作步骤都会被录制器记录一下,以代码的形式生成在录制界面。当浏览器操作实现后,能够在界面上暂停录制,也能够复制曾经生成的代码,保留到代码文件中。
在编写正式的测试用例代码前,先通过录制性能把测试用例步骤录制下来,主动生成元素的定位形式,主动调用浏览器操作,会节俭很多编写元素选择器的工夫,有局部 API 函数记不清楚用法的,录制性能也会帮你主动生成。
通过命令行的 codegen
参数能够启动录制界面。
playwright codegen https://v4.ketangpai.com/User/login.html
弹出浏览器和代码生成界面,在界面的菜单栏能够进行录制,复制代码。代码能够抉择 Python, Java 或者 JavaScript 等支流语言。手工创立一个代码文件保留复制的代码。
<img src=”https://yuztuchuang.oss-cn-beijing.aliyuncs.com/img/image-20211011153000068.png” alt=”image-20211011153000068″ style=”zoom:50%;” />
录制好的代码会存在一些不必要的操作,能够间接删除这些不必要的代码,还会有元素定位的形式不断很正当,须要进一步修改。
尽管录制会存在一些小问题,然而他能疾速生成样板代码,进步咱们编写自动化测试代码的效率。之后的操作咱们都能够沿用这种模式,先通过录制生成样板代码,再进行小幅度批改后应用。
playwright inspector 除了能够进行录制,还能够辅助元素定位。当暂停录制后,在页面下方会呈现辅助定位的控件,当输出元素定位表达式后,对应的页面元素将会高亮显示。
目前还不反对生成 pytest 插件的代码,所以次要还是复制元素定位形式和函数的用法,不能齐全照搬。