【开源公告】多平台Web自动化测试框架QT4W开源

2024-03-23 22:48

本文主要是介绍【开源公告】多平台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)特性,可实现跨端复用。



使用示例


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

640?wx_fmt=png


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

class DemoPage(WebPage):	
'''Demo页面    '''	ui_map = {'title':{'type': WebElement,'locator': XPath('//div[@class="panel-heading"]')},	
'name':{'type': InputElement,'locator':XPath('//input[@id="name"]')},	
'female':{'type': WebElement,'locator':XPath('//input[@value="female"]')},	
'male':{'type': WebElement,'locator':XPath('//input[@value="male"]')},	
'age':{'type': SelectElement,'locator':XPath('//select[@id="age"]')},	
'company':{'type': InputElement,'locator':XPath('//input[@id="company"]')},	
'submit':{'type': WebElement,'locator':XPath('//button[@id="submit"]')},	}	#设置姓名	
def set_name(self,name):	self.control('name').value=name	#设置性别为女	
def set_female(self):	self.control('female').click();	#设置性别为男	
def set_male(self):	self.control('male').click();	#设置姓名	
def set_age(self,age):	self.control('age').selection=age	#设置公司名	
def set_company(self,company):	self.control('company').value=company	def submit(self):	self.control("submit").click()

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



项目规划


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

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

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

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

QT4W 正式开源

Github 开源地址:
https://github.com/Tencent/QT4W

(点击文末阅读原文直接访问)

请给 QT4W一个 Star !

欢迎提出你的 issue 和 PR!

QT4W 国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source/QT4W

640?wx_fmt=png

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像

QTA相关开源项目仓库:
QT4A: https://github.com/Tencent/QT4A
QT4I: https://github.com/Tencent/QT4i

640?wx_fmt=jpeg


这篇关于【开源公告】多平台Web自动化测试框架QT4W开源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839741

相关文章

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.