android自动化测试unity,基于Unity3D引擎的UI自动化测试方案
一、基本思路
熟悉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
android自动化测试unity,基于Unity3D引擎的UI自动化测试方案相关推荐
- 干货 | 基于 BDD 理念的 UI 自动化测试在携程度假的应用
作者简介 Leo Li,携程高级软件工程师,负责度假 BDD-Test UI 自动化测试框架的研发.维护和迭代等工作. 如今无论大公司还是小公司都越来越重视测试质量.并且前端领域越来越繁荣,前端工程也 ...
- 基于 KIF 的 iOS UI 自动化测试和持续集成
客户端 UI 自动化测试是大多数测试团队的研究重点,本文介绍猫眼测试团队在猫眼 iOS 客户端实践的基于 KIF 的 UI 自动化测试和持续集成过程. 一.测试框架的选择 iOS UI 自动化测试框架 ...
- 基于图片识别的 UI 自动化测试工具 SikuliX
简介 SikuliX 是一款开源的 GUI自动化测试工具,它的前身是 Sikuli(上帝之眼).SikuliX 在设计上使用到了图片识别技术,会通过不停的对桌面进行截图,然后与预期图片进行比较来判断交 ...
- python通信自动化测试_基于Python的无线通信设备自动化测试软件的研制
基于Python的无线通信设备自动化测试软件的研制 中国电子科技集团公司第十研究所 冯启俊 [期刊名称]<电子世界> [年(卷),期]2019(000)015 [总页数]2 无线通信设备的 ...
- 基于Unity3d 引擎的Android游戏优化 1
最近项目进入收尾阶段,之前对项目做了很多优化,mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等,在IOS上还好,但是Android上,试过几款手机,从低端到高端,发 ...
- 基于Unity3d 引擎的Android游戏优化
更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种,每家的GPU支持不同的压缩格式,但他们都兼容ETC格式, 对于透明贴图,我们只能选择RGBA 16bit 或者 ...
- 如何测试基于Unity3D引擎的游戏
版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 此文章来源于项目官方公众号:"AirtestProject" 由于游戏的界面是通过游戏引擎渲染出来的,游戏界面没 ...
- 基于Unity3D引擎制作大地图
2.制做一张灰度图: 需求:Photoshop GIMP 先Google 搜 WorldMap-A_non-Frame.png 这个地图下载一张到你pc 然后gimp打开它, ...
- 基于AI的网易UI自动化测试方案与实践
参考:https://time.geekbang.org/dailylesson/detail/100016410
最新文章
- 牛客16502 螺旋矩阵
- mysqlmodify_modify与change的区别
- Leetcode-整数反转 C++
- 7月-伟大的事业,一般都是在下半年完成的
- hdu4727搜索+stl。轻微剪枝
- 微信小程序安卓和ios时间格式问题
- MICROSOFT REPORTVIEWER(微软报表)项目中的应用
- MDK5 代码折叠功能
- xampp运行不成功或者安装过程中提示找不到文件“-n”,没有安装vcredist_x86的解决方法
- 数据库ALTER语句使用
- 朗逸保险丝安培数及保险丝配置说明
- 吃鸡是python写的吗_用Python来P图,分析怎么吃鸡?只有想不到,没有做不到
- 用python做系统的感悟_python感悟
- 电脑连接电视html,电脑HDMI连接电视无信号的解决方法
- Sort sort =new Sort(Sort.Direction.ASC,“id“)
- 2021SC@SDUSC 开源项目GFPGAN -7-experiments
- 使IT慢如蜗牛的十二个不良习惯
- v-for 和 v-show 的区别
- 使用 docker 进行iost 测试链节点搭建
- H.264/AVC 中的宏块、片、帧