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

具体的操作请阅读源码。

本文标签: 游戏脚本测试源码工程