在项目的后期,代码量的增多和功能的繁杂总会带来各种小问题,此时如何排查这些问题变得非常重要。当然这件事本身并不有趣甚至繁琐,如何利用工具解决问题我觉得是计算机诞生的目的,身为工程师却为工具工作确实说不过去。下面我就分享一下两个简单的测试方法抛砖引玉。

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自动化测试简单方法相关推荐

  1. Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法(foreach/for)

    Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 目录 Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 一.简单介绍 二.实现原理 三.效果预览 四.实现 ...

  2. (转)[EntLib]微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART2——了解Unity的使用方法(1)...

    原文地址:http://www.cnblogs.com/kyo-yo/archive/2010/11/01/Learning-EntLib-Tenth-Decoupling-Your-System-U ...

  3. 简易自动电阻测试仪_开始自动测试您的网站的简单方法

    简易自动电阻测试仪 by Adam Kelly 通过亚当凯利 开始自动测试您的网站的简单方法 (The easy way to start automatically testing your web ...

  4. unity实现简单fps游戏功能

    unity实现简单fps游戏鼠标功能 1.unity实现瞄准镜功能 实现原理 按下鼠标右键镜头拉近,再次按下镜头拉远(设置Camrea的FOV属性) 逐渐拉近(例如:60->20逐渐拉近) 设置 ...

  5. unity实现简单巡逻兵

    unity实现简单巡逻兵 游戏视频 游戏要求 创建一个地图和若干巡逻兵(使用动画): 每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址.即每次确定下一个目标位置,用自己当前位置为原点计算: 巡 ...

  6. 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法

    by Joyz 通过乔伊斯 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法 (A recipe for website automated ...

  7. Unity优化——简单AOI实现原理

    声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改. Unity网络--简单AOI实现原理 文章目录 Unity网络--简单AOI实现原理 一.开发 ...

  8. Unity数据存储方法

    Unity数据存储方法 首先Unity中共有五种数据存储的方法, 一.PlayerPrefs 二.读取普通文本资源:TextAsset 三.Json 四.XML存储 五.Sqlite牵涉到的Sqlit ...

  9. 用Unity实现简单的绳子模拟(一)

    用Unity实现简单的绳子模拟(一) 说到Unity物理,一般都会想到内置的physX物理引擎.其实我们也可以用Unity的API去实现一些简单的物理算法. 本文会介绍如何从头实现一个简单的绳子模拟的 ...

  10. Discuz! X2.5 添加自定义数据调用模块(简单方法)

    转:http://521-wf.com/archives/46.html Discuz! X2.5 添加自定义数据调用模块(简单方法) Discuz!X系列的diy功能还是相当不错的,在对其进行二次开 ...

最新文章

  1. 会议冲突!临时更新客户端!这些在线视频会议痛点统统解决掉!
  2. delphi dbgrideh 遍历每一个单元格_利用财务函数制作贷款计算器,让你了解还款的每一个细节...
  3. CSDN 正式推出 C 学堂赋能优质教育机构打赢流量战!
  4. extern quot;Cquot; 的含义:实现C++与C及其他语言的混合编程
  5. 游戏UI设计干货:怎么让游戏界面更具科技感?
  6. JetBrains CLion C++ IDE连接wsl2(Ubuntu)时,报错“Unable to establish SSL connection“解决方案
  7. pitstop插件使用说明_PDF其他及PitStop插件
  8. 葫芦全身都是宝的飞鸽传书2011
  9. Kubesphere V2.1.1安装后开启可拔插组件DevOps(2)
  10. Linux内核代码 分析大纲思维导图
  11. struts2 html post large data,struts2文件上传限制大小问题
  12. Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
  13. mysql日期教程_MySQL日期函数详解
  14. ADB下载及常用命令
  15. 医院业务系统灾备建设,数腾:为生命保驾护航
  16. 飞机加油游戏 --- 我的易术
  17. PuTTY 提示error错误 no supported authentication methods available (server sent: publickey)
  18. html中点击提交按钮显示提交i成功,百里香叶:点击提交按钮后显示成功信息
  19. 第十二天 结构体大全
  20. Excel粘贴长文本数字 精度丢失

热门文章

  1. swap分区,lvm的管理及计划任务
  2. 软件销售渠道建设五步曲
  3. 复制粘贴之后出现问号怎么办_CAD图形文字复制粘贴以后出现变化该怎么办?
  4. matlab 中peaks函,peaks_matlab中PEAKS
  5. 穷举法(枚举法)实例解析
  6. R语言data.table包进行数据分组聚合统计变换(Aggregating transforms)、计算dataframe数据的分组四分位距(interquartile range, IQR)
  7. 联想电脑计算机怎么设置十进制,联想笔记本win10老友系统如何给电池设置充电阈值【图文】...
  8. 关于网络连接里无虚拟网络适配器的解决办法
  9. java使用nmap工具进行端口扫描,简单学习
  10. matlab中的包文件夹管理:‘+’文件夹