UNITY自动化测试简单方法
在项目的后期,代码量的增多和功能的繁杂总会带来各种小问题,此时如何排查这些问题变得非常重要。当然这件事本身并不有趣甚至繁琐,如何利用工具解决问题我觉得是计算机诞生的目的,身为工程师却为工具工作确实说不过去。下面我就分享一下两个简单的测试方法抛砖引玉。
1.模拟鼠标随机点击
using UnityEngine;
using System;
using System.Runtime.InteropServices;public class RandomClick : MonoBehaviour
{[DllImport("user32.dll")]private static extern int SetCursorPos(int x, int y); //设置光标位置[DllImport("user32.dll")]static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo); //鼠标事件bool sw = false;//这个枚举同样来自user32.dll[Flags]enum MouseEventFlag : uint{Move = 0x0001,LeftDown = 0x0002,LeftUp = 0x0004,RightDown = 0x0008,RightUp = 0x0010,MiddleDown = 0x0020,MiddleUp = 0x0040,XDown = 0x0080,XUp = 0x0100,Wheel = 0x0800,VirtualDesk = 0x4000,Absolute = 0x8000}void Update(){if (Input.GetKeyDown(KeyCode.Space)){sw = true;}if (Input.GetKeyDown(KeyCode.Escape)){sw = false;}if (sw){MouseClickSimulate(UnityEngine.Random.Range(0, 1920), UnityEngine.Random.Range(0, 1080));}}//模拟鼠标左键点击public void MouseClickSimulate(int x, int y){SetCursorPos(x, y);mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero);mouse_event(MouseEventFlag.LeftUp, 0, 0, 0, UIntPtr.Zero);}
}
通过随机点击UI进行测试,中午休息挂着会有意想不到的惊喜。
2.随机移动
using UnityEngine;public class RadomMove : MonoBehaviour
{[SerializeField]float Power = 1;// Update is called once per framevoid Update(){GetComponent<Rigidbody>().AddForce(Random.Range(0, Power), Random.Range(0, Power), Random.Range(0, Power));}
}
可以用于场景密封性检测
UNITY自动化测试简单方法相关推荐
- Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法(foreach/for)
Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 目录 Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 一.简单介绍 二.实现原理 三.效果预览 四.实现 ...
- (转)[EntLib]微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART2——了解Unity的使用方法(1)...
原文地址:http://www.cnblogs.com/kyo-yo/archive/2010/11/01/Learning-EntLib-Tenth-Decoupling-Your-System-U ...
- 简易自动电阻测试仪_开始自动测试您的网站的简单方法
简易自动电阻测试仪 by Adam Kelly 通过亚当凯利 开始自动测试您的网站的简单方法 (The easy way to start automatically testing your web ...
- unity实现简单fps游戏功能
unity实现简单fps游戏鼠标功能 1.unity实现瞄准镜功能 实现原理 按下鼠标右键镜头拉近,再次按下镜头拉远(设置Camrea的FOV属性) 逐渐拉近(例如:60->20逐渐拉近) 设置 ...
- unity实现简单巡逻兵
unity实现简单巡逻兵 游戏视频 游戏要求 创建一个地图和若干巡逻兵(使用动画): 每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址.即每次确定下一个目标位置,用自己当前位置为原点计算: 巡 ...
- 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法
by Joyz 通过乔伊斯 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法 (A recipe for website automated ...
- Unity优化——简单AOI实现原理
声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改. Unity网络--简单AOI实现原理 文章目录 Unity网络--简单AOI实现原理 一.开发 ...
- Unity数据存储方法
Unity数据存储方法 首先Unity中共有五种数据存储的方法, 一.PlayerPrefs 二.读取普通文本资源:TextAsset 三.Json 四.XML存储 五.Sqlite牵涉到的Sqlit ...
- 用Unity实现简单的绳子模拟(一)
用Unity实现简单的绳子模拟(一) 说到Unity物理,一般都会想到内置的physX物理引擎.其实我们也可以用Unity的API去实现一些简单的物理算法. 本文会介绍如何从头实现一个简单的绳子模拟的 ...
- Discuz! X2.5 添加自定义数据调用模块(简单方法)
转:http://521-wf.com/archives/46.html Discuz! X2.5 添加自定义数据调用模块(简单方法) Discuz!X系列的diy功能还是相当不错的,在对其进行二次开 ...
最新文章
- 会议冲突!临时更新客户端!这些在线视频会议痛点统统解决掉!
- delphi dbgrideh 遍历每一个单元格_利用财务函数制作贷款计算器,让你了解还款的每一个细节...
- CSDN 正式推出 C 学堂赋能优质教育机构打赢流量战!
- extern quot;Cquot; 的含义:实现C++与C及其他语言的混合编程
- 游戏UI设计干货:怎么让游戏界面更具科技感?
- JetBrains CLion C++ IDE连接wsl2(Ubuntu)时,报错“Unable to establish SSL connection“解决方案
- pitstop插件使用说明_PDF其他及PitStop插件
- 葫芦全身都是宝的飞鸽传书2011
- Kubesphere V2.1.1安装后开启可拔插组件DevOps(2)
- Linux内核代码 分析大纲思维导图
- struts2 html post large data,struts2文件上传限制大小问题
- Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
- mysql日期教程_MySQL日期函数详解
- ADB下载及常用命令
- 医院业务系统灾备建设,数腾:为生命保驾护航
- 飞机加油游戏 --- 我的易术
- PuTTY 提示error错误 no supported authentication methods available (server sent: publickey)
- html中点击提交按钮显示提交i成功,百里香叶:点击提交按钮后显示成功信息
- 第十二天 结构体大全
- Excel粘贴长文本数字 精度丢失
热门文章
- swap分区,lvm的管理及计划任务
- 软件销售渠道建设五步曲
- 复制粘贴之后出现问号怎么办_CAD图形文字复制粘贴以后出现变化该怎么办?
- matlab 中peaks函,peaks_matlab中PEAKS
- 穷举法(枚举法)实例解析
- R语言data.table包进行数据分组聚合统计变换(Aggregating transforms)、计算dataframe数据的分组四分位距(interquartile range, IQR)
- 联想电脑计算机怎么设置十进制,联想笔记本win10老友系统如何给电池设置充电阈值【图文】...
- 关于网络连接里无虚拟网络适配器的解决办法
- java使用nmap工具进行端口扫描,简单学习
- matlab中的包文件夹管理:‘+’文件夹