admin管理员组文章数量:1532345
2023年12月13日发(作者:)
测试工具GAutomator的研究(一)——如何使用GAutomator
文章目录
GAutomator简介
GAutomator是腾讯wetest测试平台下的一个针对手游的开源的自动化测试框架。源码在GitHub上有:。GAutomator将sdk嵌入到游戏
中,然后通过adb连接客户端和服务器端(手游端),最后通过在客户端写测试脚本来对游戏进行自动化测试。
使用
1.下载源码
从上下载源码。
2.将sdk嵌入到Unity工程
sdk支持两种游戏开发平台:Unity和Unreal。支持两种游戏运行平台:Android和IOS。在Unity中又支持两种UI种类:NGUI和Unity自带
的UGUI。本文只记录Unity+Android+UGUI的使用。其余平台的使用可以参考源码中的各个使用文档。
1. 打开Unity工程。
2. 拷贝SDK。
1. 将源码中的GAutomator/UnitySDK/compiled/UGUI/拷贝到Unity工程Assets目录下的任意合法位置。
2. 将GAutomator/UnitySDK/compiled/拷贝到Unity工程Assets/Plugins/Android目录下。
3. 挂载sdk脚本。为了能让sdk在游戏运行时也运作起来,需要像普通C#脚本一样挂载在一个激活的游戏物体上。为此:
1. 新建一个空的游戏物体,在上面挂上U3DAutomationBehaviour脚本。
这个脚本是在里面定义的一个类。对应的源码在工程源码下可以找到。后面讲。不过,官方的文档推荐用宏判定的方
式动态挂载这个脚本,使得游戏在非测试的环境下不会运行这个测试SDK。具体看官方文档。
4. 至此,嵌入服务器端SDK的游戏工程就完成了。将其打包成APK文件,找个安卓机器安装就行了。本文将使用网易的MUMU模拟器。
3.使用adb连接安装了游戏的安卓设备
adb即Android Debug Bridge,是一个非常常用安卓调试工具。可以单独安装adb,也可以跟某些IDE一起安装。我是直接装了android
studio,这样adb和android sdk也都免了。具体安装adb的方式询问度娘或google,具体的使用方式也参考度娘或Google。
1. 如果你使用的是网易的MUMU模拟器,那么打开模拟器之后,一般需要手动连接adb
adb connnect 127.0.0.1:7555
2. 个人认为最好用的是雷电模拟器(记得给我打广告费),雷电模拟器会自动帮你连接adb。所以你登上雷电模拟器之后,用以下命令
就可以查询到对应的设备号:
adb devices -l
3. 你也可以选择用真机调试,用USB连接手机至电脑
1. 打开机器的开发者模式
2. 打开机器的USB调试选项
3. 有些手机还需要将USB连接功能选至“传输文件”,adb调试才会生效
此时,你用上一条的命令应该就可以查询到真机的设备号。
4.运行游戏
在安卓平台上运行安装好的游戏,我们需要让sdk在测试脚本启动前运行。如果sdk成功运行,那么在开启游戏的最开始的几秒钟,游戏画
面的左上角会显示红红的“GAutomator”字样。
5.打开测试脚本工程开始测试
用任何一款IDE或编辑器打开GAutomatorAndroid目录。这是针对Android平台的自动化测试脚本工程根目录。在这个根目录创建一
个
my_
脚本,写入以下代码:
from _operator import * #
导入必要的模块
def test():
#
获得引擎管理模块实例和日志模块实例
engine=_engine()
logger=_logger()
#
获取
sdk
版本信息
version=_sdk_version()
("Version Information : {0}".format(version))
#
获取当前游戏场景
scene=_scene()
("Scene : {0}".format(scene))
#
查找一个名为
Sample
的按钮
sample_button=_element("/Canvas/Panel/Sample")
("Button : {0}".format(sample_button))
#
点击该按钮
screen_shot_click(sample_button)
if __name__=="__main__":
test()
然后运行该脚本。
python my_
如果游戏中存在一个
/Canvas/Panel/Sample
按钮,则该按钮会被点击。
6.用启动脚本
GAutomator提供了一个脚本来启动你的代码。在此之前,他会做一些准备工作。比如读取命令行参数,一些初始化的工作。如果
你想让脚本跑在多个机器上,那么你就需要为每台机器指定
adb forward
的端口,为每个脚本指定对应机器的设备号。比如用如下方式启动:
python --serial=emulator-5554 --uiport=5520
python --serial=emulator-5556 --uiport=5530
具体的操作请阅读源码。
版权声明:本文标题:测试工具GAutomator的研究(一)——如何使用GAutomator 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1702473101a8713.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论