多平台Web自动化测试框架QT4W开源

QT4W (Quick Test for Web)是使用Python开发的Web自动化框架,是QTA(QTA是一套集成面向多端多平台的自动化测试解决方案,包括QT4A,QT4A,QT4C等,其中QT4A及QT4I已经开源)自动化体系内实现支持Web自动化测试能力的支持库。QT4W和QT4A一起使用时,可以实现Android端的Web自动化,和QT4I一起使用时,可以进行IOS端Web自动化。

本框架采用分层设计,将整个Web自动化过程抽象出了三个层次:WebControl层,WebDriver层以及原生控件层(NativeControl)。

WebControl层,提供了常见类型的控件实现,用户使用该层提供的能力进行页面封装及事件封装。

WebDriver提供底层驱动实现。

原生控件层,用于封装承载Web页面的容器控件和窗口,这部分内容和具体的平台关联性较大。通过分层抽象,本框架提供了良好的扩展能力。

适用场景

QT4W支持纯Web应用自动化,还同样支持应用内嵌Web页面自动化,包括,手Q内嵌页面等。

支持多平台,包括Windows,Android,IOS等,兼容多种浏览器包括:IE,Chrome,X5内核等,支持用户实现新的浏览器类型封装。

结合QT4A及wxmplib库等,可以方便的实现Android端微信小程序自动化。

功能介绍

QT4W采用Xpath定位控件,封装简单,结构清晰,通用性强,提供了ui_list能力来处理相似度极高的控件,例如字体颜色等。

QT4W采用UIMap方式来定义webpage页面,可以灵活方便的处理控件的层级关系,调用逻辑简单清晰。

支持执行JS代码,控件截图等。

QT4W提供浏览器层级的抽象,支持WORA(Write Once Run AnyWhere)特性,可实现跨端复用。

使用示例

这里使用一下页面做示例:

对于以上页面,使用QT4W可以描述如下:

其中ui_map用于描述整个页面所包含的控件,后面的函数定义一些页面内的基本操作,调用这些函数即可实现页面操作。

项目规划

继续完善和优化功能,丰富浏览器控制特性,获取控制台日志等。

继续支持更多平台及浏览器。

进一步优化对IOS端小程序的支持。

优化该框架,丰富文档资源,降低使用成本。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190620A0KOM500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券