微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GAutomator Unity 手游自动化测试框架

程序名称:GAutomator

授权协议: MIT

操作系统: 跨平台

开发语言: Python

GAutomator 介绍

GAutomator

GAutomator是一个针对Unity手游的UI自动化测试框架。设计理念与使用方式,类似于Android的UIAutomator。GAutomator以Unity中的GameObject为操作对象,通过操作GameObject实现UI自动化测试。基于GameObject的方式,不存在手机分辨率适配的问题,一份脚本能够运行在不同手机之上,基于GameObject的另外一个优点为鲁棒性较强,游戏的UI界面经常发生变化,GameObject变化频率相对较低。

一 运行环境要求

window平台下运行,linux可运行脚本(GAutomator)。

  • python 2.7版本

  • 环境变量中包含有adb

工程中已包含所有的库,打开即可编写测试用例,写完即可运行(考虑到国内公司网络限制较多,python库的安装非常麻烦)。

二 测试用例编写

GAutomator被测试的游戏需要集成 SDKWeTest
SDK
打包方式。GAutomator中在Sample目录下自带一个集成有WeTest
SDK的demo游戏,可以使用该游戏进行自动化的练习。GAutomator使用说明文档,在doc下面也有详细的接入文档与使用说明文档。GAutomator与UIAutomator类似,提供了一个UI控件信息查看器GAutomatorView,可以查看UI对于的GameObject及相关信息,GAutomatorView使用说明文档

强烈建议使用pycharm编写python代码

import wpyscripts.manager as managerfrom testcase.tools import *def test():
    engine=manager.get_engine()
    logger=manager.get_logger()

    version=engine.get_sdk_version()
    logger.debug(Version @R_987_4045@ion : {0}.format(version))

    scene=engine.get_scene()
    logger.debug(Scene :   {0}.format(scene))

    sample_button=engine.find_element(/Canvas/Panel/Sample)
    logger.debug(Button : {0}.format(sample_button))    #engine.click(sample_button)
    screen_shot_click(sample_button)

test()
  • step 1:代码保存为sample.py,位置与main.py同级目录,这样能够查找到GAutomator的相关库;

  • step 2:拉起游戏,然后运行上面的代码

  • step 3:点击sample,跳出一个气球

三 GAutomator结构

GAutomator框架原理

GAutomator目前仅支持Unity。GAutomator是非跨进程的,所以需要在游戏中集成SDK。集成SDK之后会在游戏中启动一个socket服务,GAutomator
Python端通过adb与wetest sdk建立端口映射。GAutomator通过socket向WeTest
SDK发送请求,包括查询GameObject、获取UI的位置信息、执行点击操作等。手游自动化测试过程中,还需要操作Android标准控件,如QQ登录等。GAutomator使用xiaocong
uiautomator
作为pc端调用uiautomator的解决方案。

GAutomator工程结构

严格意义上来说,GAutomator并不算一个库,算是一个工程。GAutomator并没有采用setup.py安装的方式。主要在公司网络环境下,安装Python库可能并不是一件容易的事情。我们想提供一种方式,编写完拷贝到任何一台安装有python环境的电脑上都能运行,免去打包和安装库的烦恼。

GAutomator 官网

https://github.com/Tencent/GAutomator

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐