playwright录制脚本-web自动化测试

简介: 在编写 web 自动化测试用例时,代码编写的速度是否快,会影响框架的使用体验。现在很多的框架都会提供一些辅助功能,帮助我们更快的去编写自动化测试代码,而录制功能是几乎所有的web自动化工具都会带的功能。在实际操作过程中,有 2 个问题影响代码编写速度。第一个问题,每次操作前都需要先定位元素,需要编写元素定位选择器,这需要我们频繁查看网页的源代码,如果元素选择器编写不够规范,会引发测试用例失败。第二个问题,每一步操作都要调用对应的api函数,如果这些函数使用不规范,也会影响编程的速度和用例通过。
我喜欢Playwright! 这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位。使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无法得到及时解决,因此我决定自己记录一下使用的笔记,算是给社区回馈。

在编写 web 自动化测试用例时,代码编写的速度是否快,会影响框架的使用体验。现在很多的框架都会提供一些辅助功能,帮助我们更快的去编写自动化测试代码,而录制功能是几乎所有的web自动化工具都会带的功能。
在实际操作过程中,有 2 个问题影响代码编写速度。第一个问题,每次操作前都需要先定位元素,需要编写元素定位选择器,这需要我们频繁查看网页的源代码,如果元素选择器编写不够规范,会引发测试用例失败。第二个问题,每一步操作都要调用对应的api函数,如果这些函数使用不规范,也会影响编程的速度和用例通过。

录制功能帮助我们解决这些问题。使用录制功能时,自动打开浏览器,接下来我们可以手工在浏览器页面上进行操作,每个操作步骤都会被录制器记录一下,以代码的方式生成在录制界面。 当浏览器操作完成后,可以在界面上暂停录制,也可以复制已经生成的代码,保存到代码文件中。

在编写正式的测试用例代码前,先通过录制功能把测试用例步骤录制下来,自动生成元素的定位方式,自动调用浏览器操作,会节省很多编写元素选择器的时间,有部分 API 函数记不清楚用法的,录制功能也会帮你自动生成。

通过命令行的 codegen 参数可以启动录制界面。

      playwright codegen https://v4.ketangpai.com/User/login.html

弹出浏览器和代码生成界面,在界面的菜单栏可以停止录制,复制代码。代码可以选择 Python, Java 或者 JavaScript 等主流语言。手工创建一个代码文件保存复制的代码。
image-20211011153000068
录制好的代码会存在一些不必要的操作,可以直接删除这些不必要的代码,还会有元素定位的方式不时很合理,需要进一步修正。

虽然录制会存在一些小问题,但是他能快速生成样板代码,提高我们编写自动化测试代码的效率。之后的操作我们都可以沿用这种模式,先通过录制生成样板代码,再进行小幅度修改后使用。

playwright inspector 除了可以进行录制,还可以辅助元素定位。 当暂停录制后,在页面下方会出现辅助定位的控件,当输入元素定位表达式后,对应的页面元素将会高亮显示。

目前还不支持生成 pytest 插件的代码,所以主要还是复制元素定位方式和函数的用法,不能完全照搬。

image-20211011153043429

相关文章
|
30天前
|
JavaScript 前端开发 测试技术
使用Selenium执行JavaScript脚本:探索Web自动化的新领域
本文介绍了如何在Selenium中使用JavaScript解决自动化测试中的复杂问题。Selenium的`execute_script`函数用于同步执行JS,例如滑动页面、操作时间控件等。在滑动操作示例中,通过JS将页面滚动到底部,点击下一页并获取页面信息。对于只读时间控件,利用JS去除readonly属性并设置新日期。使用JS扩展了Selenium的功能,提高了测试效率和精准度,适用于各种自动化测试场景。
41 1
|
3月前
|
测试技术 Python
Playwright系列(4):录制测试脚本
Playwright系列(4):录制测试脚本
|
9天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
1月前
|
前端开发 Java 测试技术
《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程)
【2月更文挑战第14天】《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程) 前面几篇宏哥介绍了两种(java和maven)环境搭建和三大浏览器的启动方法,这篇文章宏哥将要介绍第一个自动化测试脚本。前边环境都搭建成功了,浏览器也驱动成功了,那么我们不着急学习其他内容,首先宏哥搭建好的环境中创建首个完整的自动化测试脚本,让小伙伴或者童鞋们提前感受感受,也是为了激起大家的学习兴趣。宏哥的个人经验是:自动化脚本编写比较容易,最大的困难去如何去写测试断言。自动化测试,最重要的还是落在测试上面,而不是自动化,自动化只是手段。
38 1
《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程)
|
2月前
|
Web App开发 测试技术 数据安全/隐私保护
Web自动化测试工具Selenium
Web自动化测试工具Selenium
|
2月前
|
JavaScript Java Python
Web自动化三种等待方式,一篇文章教会你
Web自动化三种等待方式,一篇文章教会你
65 1
|
2月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
32 0
|
3月前
|
测试技术 Shell 开发工具
Playwright 系列(13):如何调试测试用例
Playwright 系列(13):如何调试测试用例
Playwright 系列(13):如何调试测试用例
|
3月前
|
测试技术
PlayWright系列(2):如何写测试脚本
PlayWright系列(2):如何写测试脚本
PlayWright系列(2):如何写测试脚本
|
3月前
|
数据采集 缓存 JavaScript
Python神器!WEB自动化测试集成工具 DrissionPage
Python神器!WEB自动化测试集成工具 DrissionPage
89 0