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)。
适用场景
功能介绍
使用示例
这里使用一下页面做示例:
对于以上页面,使用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用于描述整个页面所包含的控件,后面的函数定义一些页面内的基本操作,调用这些函数即可实现页面操作。
项目规划
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