自动化测试实战项目(二):连连看外挂挑战

游戏 2024-05-14 19:47:01 绿屋生活

在自动化测试实战项目中,连连看外挂挑战是一个让测试工程师们欣喜若狂的项目。连连看作为一款休闲益智游戏,被广大玩家们喜爱,而我们的目标是通过自动化测试来挑战这款游戏的外挂程序。这个项目不仅能够验证我们的自动化测试技术的可靠性和稳定性,还能够深入探究游戏的逻辑和规则,为游戏开发商提供宝贵的测试反馈。让我们一起来揭开自动化测试背后的神秘面纱,挑战连连看外挂!

自动化测试和做外挂的原理很相似,都是模拟用户的鼠标和键盘操作, 给自己的程序写自动化就是做测试,给别人的程序写自动化就是外挂了。

本文使用的技术也同样适用制作“对对碰”,"找茬" 之类游戏的外挂。

阅读目录

QQ连连看外挂实现原理GUI自动化测试的原理什么是句柄P/Invoke机制获取游戏窗体的句柄分析游戏窗口对游戏窗口进行截图根据游戏规则来写算法模拟鼠标点击源代码下载QQ连连看外挂实现原理

1. 先调用Win32 API获取"连连看"游戏窗口的句柄,

2. 根据游戏窗口的句柄,然后获取游戏方块中的像素。

3. 用一个二维数组来保存每个方块的像素

4. 用算法判定两个一样的方块能否"消", 如果能"消"的话,就模拟鼠标去点击这两个方块。 继续"消" 下一组方块。

GUI自动化测试的原理

当你点击窗体中的一个button, button会响应然后执行一些操作。 这个过程的本质是: 你在屏幕上点击一个Button, Windows系统根据你点击的位置,知道你要点击哪个Button,然后给这个Button发送鼠标点击的消息。

自动化的原理是: 找到控件的句柄,通过句柄给这个控件发送消息,比如“键盘输入”消息或者“鼠标点击”消息。

什么是句柄

所有的Windows控件本质上都是一个窗体(Window). 每个控件/窗体都有一个与之关联的句柄(handle), 可以通过这个句柄来访问,操纵和检测这个控件/窗体

窗体句柄是由系统产生的一个值,你可以把它想象成与窗体关联的一个ID,通过这个ID可以访问相应的窗体。

在.NET中, 句柄的类型是System.IntPtr, 有点类似Int型。

P/Invoke机制

P/invoke机制叫做"平台调用"机制, 因为Win32API 函数是Windows操作系统的一部分,所以它是用传统的C++程序写的,而不是用C#托管代码写的。 所以我们需要一种机制,让C#中可以调用Win32 API函数.

具体的解决方案是: 先为想要使用的Win32函数创建一个C#外覆函数,或者叫别名函数, 然后调用这个别名函数

实例:

在Win32 API中获取窗体的句柄的函数是 FindWindow(), 它的函数签名用C++描述是这样的

源代码下载

留言昂

以上就是自动化测试实战项目(二):连连看外挂挑战的相关介绍,希望能对你有帮助,如果您还没有找到满意的解决方式,可以往下看看相关文章,有很多自动化测试实战项目(二):连连看外挂挑战相关的拓展,希望能够找到您想要的答案。

相关推荐

猜你喜欢

大家正在看