内容简介: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)特性,可实现跨端复用。
使用示例
这里使用一下页面做示例:
对于以上页面,使用 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
腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像
QTA相关 开源项目仓库:
QT4A: https://github.com/Tencent/QT4A
QT4I: https://github.com/Tencent/QT4i
以上所述就是小编给大家介绍的《【开源公告】多平台Web自动化测试框架QT4W开源》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 开源 | Hippy:腾讯开源的跨端开发框架
- WeGeek | WePY 开源框架
- 开源 | vnpy:基于 Python 的开源量化交易平台开发框架
- 优秀开源框架的扩展机制实现
- 开源Botnet框架Byob分析
- 滴滴开源小程序框架 Mpx
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript核心技术
Shelley Powers / 苏敬凯 / 机械工业出版社 / 2007-6 / 45.00
Ajax是当今Web开发领域最流行的词汇。而JavaScript与CSS、XML和DOM几种老技术,加上XMLHttpRequest就构成了Ajax的四大基石。对于JavaScript,一些更资深的同事告诉我的感觉是失望。面对不同的浏览器和浏览器的不同版本,没有优秀的调试开发工具,JavaScript成了软件开发的泥潭。. 而本书的出版则给我们增加了一丝解决这些问题的信心。 它从最简单......一起来看看 《JavaScript核心技术》 这本书的介绍吧!