01背景介绍
Playwright 是微软开发的 Web应用的自动化测试框架 。selenium相对于Playwright慢很多,因为Playwright是异步实现的,但是selenium是同步的,就是后一个操作必须等待前一个操作。
selenium是由相应的厂商提供相应的驱动,python+驱动执行相当自动化操作,缺点是如果你得浏览器驱动和你得浏览器版本不对应,你得selenium就会报错,而且你需要时刻关注版本得问题。
Playwright 是基于 Node.js 语言开发的,而且不需要再重新下载一个浏览器驱动,相当于已经写好了,仅仅需要安装这个库即可。
所以,这个不会自动更新,因为我们使用固定的。
02常用属性
对象属性
p = sync_playwright()创建一个playwright 进程browser = p.chromium.launch(headless=False)创建一个浏览器对象,headless 表示无头page = browser.new_page()创建一个页面对象
动作连
page.goto()前往某个网站page.title()获取标题page.locator(‘css选择器’)定位page.fill(‘keyword’)# 输入某些值page.click()# 点击
等待时间
page.wait_for_timeout(1000), 单位是毫秒,因为Playwright 框架是异步的,time.sleep() 在 Playwright 中式不推荐使用的,因为time.sleep() 可能破坏Playwright的相关处理逻辑。
03demo实战
改进:
但是上面的写法非常荣誉,既要创建进行,又要创建各种对象,不利于开发和维护,可以使用with as会话管理从而自动管理进程,不需要手动调用start()和stop()。
代码助手:
输入下面的指令后,会自动弹出两个框框,我们只需要点击点击,右侧就会生成代码,这样我们的工作量会大大减小。
右侧是代码,但是不能获取元素,只能模拟动作连等等。
跟踪:
playwright同时提供了跟踪功能,就是把playwright 的轨迹信息从头到尾到 保存下来,包括 路径 截图等待。
04总结
在本文中,我们详细介绍了Playwright框架,并与Selenium进行了比较。我们了解了安装配置流程,并通过实战项目展示了其强大的功能和灵活性。我们还探讨了常用属性、代码助手和跟踪功能,为读者提供了全面的指南。
通过比较Playwright和Selenium,我们可以看到Playwright在自动化测试领域的优势。其跨浏览器和跨平台的特性,以及对现代Web技术的全面支持,使其成为开发人员和测试人员的首选。无论是构建复杂的测试脚本还是进行简单的页面交互,Playwright都能提供强大而可靠的解决方案。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取