android自动化测试unity,基于Unity3D引擎的UI自动化测试方案

本文介绍了一种基于Unity3D引擎的UI自动化测试方案,通过挂载脚本遍历UI树并操控游戏对象,利用Socket接口连接自动化测试框架。方案包括SDK设计、API层、UI对象层和业务逻辑层的构建,强调了其无需修改游戏代码、跨平台等优势。
摘要由CSDN通过智能技术生成

一、基本思路

熟悉Unity3D开发后就会发现,游戏的每个场景都有一个UI树,而通过这个UI树的根节点可以遍历整个UI树的所有UI对象。而Unity3D是通过挂载脚本的方式来控制游戏逻辑的,因此我们可以在场景的UI树的跟对象上挂载脚本来获取整个UI树的所有UI对象。再通过GameObject的GetComponent方法来获取我们需要的组件,利用组件属性的Get、Set方法来操控游戏UI对象,而不需要修改游戏代码。

然后我们再通过Socket接口来连接自动化测试框架和挂载在游戏上的脚本,使自动化框架可以操控游戏对象。对于一些Unity3D组件较难模拟的事件,例如touch事件、重力感应事件等,我们可以通过编写一个Android插件的形式来模拟Android事件,然后在Unity3D脚本中调用Android插件即可。

二、意义及优势

1、Unity3D引擎日渐成为主流,对基于Unity3D引擎的游戏的自动化非常有必要

2、基于引擎的自动化测试不需要修改游戏代码,不会带入第三方bug

3、基于引擎自动化东距可以跨平台(Android插件这部分不能跨平台)

4、SDK和自动化框架基于Socket传送数据,对自动化框架没有平台要求

5、可以兼容其他的自动化测试框架。

三、具体方案

1、基于Unity3D引擎的游戏结构

首先一个游戏可以有多个场景,但是每次Application只载入一个场景。

场景中可以挂载多层Gameobject树形结构,每个游戏UI对象都是一个GameObject对象。

对于不同UI对象,GameObject添加不同的组件来体现不同的特性。

游戏逻辑是通过脚本来实现的,而脚本直接挂载到对应的GameObject上&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值