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

栏目: C++ · 发布时间: 6年前

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

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)特性,可实现跨端复用。

使用示例

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

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


对于以上页面,使用
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

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

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像
QTA相关 开源项目仓库:
QT4A: https://github.com/Tencent/QT4A
QT4I: https://github.com/Tencent/QT4i

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


以上所述就是小编给大家介绍的《【开源公告】多平台Web自动化测试框架QT4W开源》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical Algorithms for Programmers

Practical Algorithms for Programmers

Andrew Binstock、John Rex / Addison-Wesley Professional / 1995-06-29 / USD 39.99

Most algorithm books today are either academic textbooks or rehashes of the same tired set of algorithms. Practical Algorithms for Programmers is the first book to give complete code implementations o......一起来看看 《Practical Algorithms for Programmers》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具