Skip to content
📔 阅读量:

WebUI

YouQu 基于 Playwright 驱动浏览器实现 WebUI 自动化测试。

市面上耳熟能详的可用于 Web UI 自动化测试工具:SeleniumCypressPuppeteerPlaywright

咱们先初步排除掉一些明显不用的:

  • Cypress,只支持 JavaScript,而我们自动化人员大多使用 PythonJavaScript 不熟悉,排除。
  • Puppeteer,只支持谷歌浏览器,格局没打开,官方不支持 Python,排除。

剩下 SeleniumPlaywright,我们从一些方面做对比:

对比指标SeleniumPlaywright
环境安装难度
运行速度
元素等待
智能定位
稳定性
文档
接口测试

总结:

Playwright 作为一个比较新的工具,在文档方便确实没有老牌的 Selenium 完善,特别是一些示例、方法的使用说明,都还不够好,甚至有些就没有说明,但基本的使用该有的都有。

除了文档方面,Playwright 几乎在各方面碾压 Selenium,很明显 Playwright 以绝对优势获胜。

实践方法

参考章节 【Web UI 自动化测试】

断言方法

YouQu 框架统一提供断言语句,以保持统一的断言语句风格。

python
# src/webui.py

class WebAssert:
    
    @staticmethod
    def assert_locator(
        locator: Union[Page, Locator, APIResponse],
    ) -> Union[PageAssertions, LocatorAssertions, APIResponseAssertions]:
        return _expect(locator)