没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
GAutomator Unity自动化测试教程自动化测试教程
1 准备工作
1.1 介绍
1.2 环境
1.3 使用脚本
1.4 GAutomatorView
2 Getting
2.1 Simple
2.2 实例详解
2.3 wetest云端兼容测试
2.4 本地运行
3 Locating
3.1 find_element
3.2 find_elements_path
3.2.1 名称查找
3.2.2 子节点序列查找
3.2.3 节点中的图片名称查找
3.2.3 节点中的文字查找
3.3 component名称查找
3.4 节点位置查找
3.4.1 节点在屏幕上的位置
3.4.2 世界坐标获取
4 交互
4.1 点击操作
4.2 long
4.3 swipe滑动
4.4 input输入
4.5 弹出框处理(获取可交互节点)
4.6 获取文字内容
4.7 获取图片名称
5 Mobile设备
5.1 屏幕尺寸与转向
5.2 顶层Package与Activity
5.3 回退键
6 云端报告
6.1 截图与操作过程标记
6.2 截图
6.3 打标签
7 定制功能
7.1 Unity游戏端注册委托
7.2 脚本调用
7.2.1 获取可执行委托
7.2.2 执行委托
7.3 反射获取游戏中属性值
7.4 设置最佳渲染Camera
8 实战用例
8.1 摇杆
8.2 记录操作流程
8.3 QQ或微信登录
8.4 战斗场景随机操作
8.5 选区操作
8.6 自动化探索遍历
8.7 异常处理
9 实际使用接口
9.1 screen_shot_click
9.2 screen_shot_click_pos
9.3 find_elment_wait查找控件直到出现位置
9.4 wait_for_scene等待某个场景加载完毕
GAutomator 通过Python实现Unity手游的UI自动化测试,强烈建议使用pycharm编辑python。可
在http://wetest.qq.com/cloud/index.php/phone/blrooike 下载所有需要的所有组件。
1 准备工作准备工作
1.1 介绍介绍
通过Python实现Unity手游的UI自动化测试。GAutomator测试运行在手机端,通过adb操控手机上的unity手游,支持所有版本的Android手机。这个工
具的主要功能包括:测试与Android手机之间的兼容性--测试手游在不同Android手机上的工作情况。功能性测试,PVP游戏可以自动化测试代替人力节
省操作,PVE游戏可以自动大关完成冒烟测试。性能测试,云端测试能够手机CPU、内存、流量和FPS数据,能够标记不同的场景。
1.2 环境环境
1 python: python 2.7
2 adb
请确保,你的path环境变量里面设置了adb
在cmd命令行里面输入adb devices,能够看到你的手机序列号
1.3 使用脚本使用脚本
如果使用pycharm的话,直接打开scripts功能即可进行编辑使用
可以在testcase目录下面直接创建你需要的.py脚本,然后编写需要的逻辑
1.4 GAutomatorView
GAutomatorView工具可在http://wetest.qq.com/cloud/index.php/phone/blrooike下载 。GAutomator主要根据,Unity游戏中的GameObject的路径名称
来编写逻辑。类似于UIAutomator需要有一个,控件查看器;GAutomator也提供了一款类似的,Unity游戏中控件查看器。
注:请勿将该软件放置在中文目录下注:请勿将该软件放置在中文目录下
集成wetest sdk的游戏拉起后,点击同步按钮,就能获取到游戏界面和控件树
2 Getting Started
可以GAutomator脚本可前往http://wetest.qq.com/cloud/index.php/phone/blrooike下载。示例:sample/sample.py,示例apk:sampel/wetest_demo.apk
2.1 Simple Usage
已经安装好python及依赖库后,可以使用pycharm(请下社区版,社区版免费)直接打开工程,你可以下面的代码开始我们的测试
#import lib path,only use in this demo
#import sys,os
#sys.path.append(os.path.abspath(os.path.join(os.getcwd(), "..\\")))
import wpyscripts.manager as manager
def test():
engine=manager.get_engine()
logger=manager.get_logger()
version=engine.get_sdk_version()
logger.debug("Version Information : {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)
test()
上面的代码可以保存为sample.py,然后运行
python samle.py
请确保,wetestdemo游戏已经拉起,wpyscripts库能够查找到
2.2 实例详解实例详解
wpyscripts.manager模块提供了自动化测试所需的所有功能,提供与引擎、手机、报告相关的内容,也提供了日志实现
import wpyscripts.manager as manager
下一步,创建Engine和日志实例
engine=manager.get_engine()
logger=manager.get_logger()
engine.get_sdk_version() 能够获取Unity版本信息、Wetest sdk版本信息,能够获取该信息时,证明脚本已经成功连上游戏。如果获取失败,则会抛
出WeTestNativeEngineDllError异常,抛出该异常可能是手机USB线没有连好或者手机开发者选项未打开。
logger.debug("")输出对应日志,请使用manager.get_logger()获取的实例,避免脚本在云端wetest.qq.com使用时出错。
version=engine.get_sdk_version()
logger.debug("Version Information : {0}".format(version))
engine.get_scene() 获取当前游戏界面对应scene名称,wetestdemo游戏的第一个界面名称为main
engine.find_element("/Canvas/Panel/Sample") 查找当前界面中路径为/Canvas/Panel/Sample的节点,如果存在则返回Element,不存在则返回
None。find_element直接使用Unity GameObject.Find查找当前游戏中的game object。
查找到的节点samle_button(Element),有两个属性object_name,instance。object_name是节点的全路径,instance是节点实例的编号
(GameObject.GetInstanceID()获取)instance在当前游戏中一定是唯一的。
engine.click(sample_button) 尝试点击samle_button这个GameObject的中心点。
sample_button=engine.find_element("/Canvas/Panel/Sample")
logger.debug("Button : {0}".format(sample_button))
engine.click(sample_button)
wpyscripts包含4大接口
engine=manager.get_engine()
reporter=manager.get_reporter()
device=manager.get_devcie()
logger=manager.get_logger()
engine:Unity相关内容,主要包括控件获取,游戏操作
reporter:云端报告相关,截图、标记操作过程、性能数据打标签
device:手机设备相关,如屏幕长宽高、转向,也包括QQ登录等。
logger:日志输出接口,保证本地与云端输出的日志都能获取到
2.3 wetest云端兼容测试云端兼容测试
wpyscripts编写好的测试脚本,只需要非常简单的修改,就能wetest云端上做兼容测试。云端几千台手机,按照脚本执行游戏。wetest能够发现兼容问
题,同时高度还原执行现场,包括手机日志、崩溃信息、截图、执行过程等。
云端执行脚本时,会执行testcase.runner下的run函数,只需要把自己的业务逻辑加入到这个函数中即可
import traceback
try:
from sample.sample import *
except Exception,e:
traceback.print_exc()
def run():
"""
业务逻辑的起点
"""
try:
test()
except Exception,e:
traceback.print_exc()
然后,运行scripts目录下的,build.py
python build.py
会在scripts目录下产生一个,wpyscripts_upload.zip。只有企业用户才可以使用云端测试,请登录wetest.qq.com,联系工作人员了解详情。
剩余27页未读,继续阅读
湯姆漢克
- 粉丝: 21
- 资源: 304
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0