QTA自动化测试

Apache2.0
Python
windows,Linux,Mac
QTA自动化测试 · January 07, 2019 · 3025 次阅读 · 18 条评论

QTA是一个跨平台的测试自动化工具,适用于后台、原生或混合型客户端应用的测试。它支持Android、iOS、Web、后台、云服务和Windows端的UI自动化测试,是腾讯内部使用最为广泛的自动化测试框架。
QTA目前已开源的有QT4A、QT4i、QT4W、QTAF等组件。
详情:https://github.com/Tencent/QT4A/blob/master/LICENSE.TXT
QTAF(QTA Framework):https://github.com/Tencent/QTAF
使用文档:https://qta-testbase.readthedocs.io/zh/latest/
https://qta-tuia.readthedocs.io/zh/latest/index.html
QT4A(Quick Test for Android):https://github.com/Tencent/QT4a
使用文档:https://qt4a.readthedocs.io/zh_CN/latest/index.html
QT4i(Quick Test for iOS):https://github.com/Tencent/QT4i
使用文档:https://qt4i.readthedocs.io/zh_CN/latest/
QT4W(Web自动化):
使用文档:https://qt4w.readthedocs.io/zh_CN/latest/index.html

基本原理
QTAF (QTA Framework)是QTA的基础框架,包括以下模块:testbase、tuia;
QT4A:
通过向被测Android应用进程中注入测试桩,以获取进程中的控件树信息,以及相关的类、对象的属性和方法。
测试桩是使用Java语言开发的jar包(dex),它主要利用Java的反射功能,获取到进程中类和对象的实例。
测试桩中会创建一个Socket服务端,客户端连接后可以获取到控件的ID、坐标、文本、可见性等信息,通过这些信息,用户可以对控件进行查找、获取文本、设置文本、点击、滑动等操作。
除此之外,测试桩还提供了反射获取对象属性、调用函数等能力,这使得QT4A拥有了超越UI测试的能力。使用者可以利用这些功能来做更多的事情。
QT4i:
是基于JSON-RPC和QTAF实现的C/S架构的iOS UI自动化测试框架,整体架构如下所示。

自上而下依次是API层、驱动层和设备层。
QT4W:
QT4W可用于Web应用程序或嵌入式页面自动化,它们不能独立使用,需要与其他本机层自动化框架结合使用。

本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用。

评论列表
Benjamin 发表于 January 08, 2019

目测大水逼一个,,,

simple 发表于 January 10, 2019

我看到了很完善的帮助手册,教程。但是QTA的源代码地址在哪里?github上都是demo工程

QTA自动化测试 发表于 January 10, 2019

@simple 你好,QTA是我们的一个总称,它是由QT4A、QT4i、QTAF等组件构成的,QT4A是Android自动化框架,源代码是https://github.com/Tencent/QT4aQT4i是IOS自动化框架,源代码是https://github.com/Tencent/QT4iQTAF是测试自动化框架,源代码是https://github.com/Tencent/QTAF。

QTA自动化测试 发表于 January 10, 2019

@simple 你好,QTA是我们的一个总称,它是由QT4A、QT4i、QTAF等组件构成的,QT4A是Android自动化框架,源代码是https://github.com/Tencent/QT4aQT4i是IOS自动化框架,源代码是https://github.com/Tencent/QT4iQTAF是测试自动化框架,源代码是https://github.com/Tencent/QTAF。

QTA自动化测试 发表于 January 10, 2019

@simple 你好,QTA是我们的一个总称,它是由QT4A、QT4i、QTAF等组件构成的,QT4A是Android自动化框架,源代码是https://github.com/Tencent/QT4a
QT4i是IOS自动化框架,源代码是https://github.com/Tencent/QT4i
QTAF是测试自动化框架,源代码是https://github.com/Tencent/QTAF

QTA自动化测试 发表于 January 10, 2019

@Github-Benjamin 你好,QTA是我们的一个总称,它是由QT4A、QT4i、QTAF等组件构成的。
QT4A是Android自动化框架,源代码是https://github.com/Tencent/QT4a
QT4i是IOS自动化框架,源代码是https://github.com/Tencent/QT4i
QTAF是测试自动化框架,源代码是https://github.com/Tencent/QTAF
欢迎使用,有任何问题都可以联系我们。

simple 发表于 January 10, 2019

收到,看了一下手册非常的详细,感谢分享!

simple 发表于 January 10, 2019

专栏也同步开通,欢迎写系列文章介绍QTA框架

qdj0226 发表于 January 21, 2019

请问支持python3吗

QTA自动化测试 发表于 January 21, 2019

@qdj0226 已经支持了,有什么疑问也可以加入我们的QQ群432699528交流。

猫星人 发表于 January 28, 2019

有人开箱用了吗

山姆 发表于 February 02, 2019

安装qt4i时出错:
SWIG/_m2crypto_wrap.c:3557:10: fatal error: 'openssl/err.h' file not found
#include
^~~~~~~~~~~~~~~
1 warning and 1 error generated.
error: command 'gcc' failed with exit status 1

----------------------------------------
Command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c "import setuptools, tokenize;file='/private/var/folders/4y/zl5y89n90rj6g6k443_0p8dclvycqs/T/pip-install-znv_nwue/M2Crypto/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /private/var/folders/4y/zl5y89n90rj6g6k443_0p8dclvycqs/T/pip-record-4hstzrn4/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /private/var/folders/4y/zl5y89n90rj6g6k443_0p8dclvycqs/T/pip-install-znv_nwue/M2Crypto/
请问楼主是什么原因?

qtateam 发表于 February 13, 2019

@wxlsh114 因为M2Crypto库编译安装时,依赖于系统C环境的路径和版本不匹配导致的,可以按照《M2crypto官网帮助文档》(https://gitlab.com/m2crypto/m2crypto/blob/master/INSTALL.rstQQ群(432699528)或在github上提issue,我们对应组件的同事会详细为您解答的。)解决这个问题。如果还有疑问,欢迎加入我们的

qtateam 发表于 February 13, 2019

@wxlsh114 因为M2Crypto库编译安装时,依赖于系统C环境的路径和版本不匹配导致的,可以按照《M2crypto官网帮助文档》(https://gitlab.com/m2crypto/m2crypto/blob/master/INSTALL.rst
解决这个问题。
如果还有疑问,欢迎加入我们的QQ群 432699528 或在github上提issue,我们的各组件对应的同事会详细为您解答的。

发表于 February 19, 2019

相见恨晚,准备落地使用。

山姆 发表于 February 22, 2019

@qtateam 按照您的方法,成功地安装好了qt4i, 谢谢!

liveonnoevil 发表于 May 14, 2019

@QTA自动化测试 QTC什么时候能上线呢?

qtateam 发表于 May 16, 2019

@liveonnoevil 正在排期开源中,预计下半年开源。