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

更新时间: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++描述是这样的

源代码下载

留言昂

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

为您推荐

LCK转会期:谁是热门中单选手?重返华夏还是重振荣耀?

随着LCK转会期的来临,各大俱乐部开始展开选手的交流和谈判。在中单位置上,不少热门选手备受瞩目,引发了球迷们的热议和期待。他们究竟是选择重返华夏,继续在国内赛场上展现实力

2024-05-13 20:14

突破铂金:探讨LOL手游中单的职责及重要性,强调意识胜过纯技术

在《突破铂金:探讨LOL手游中单的职责及重要性》中,我们将聚焦于LOL手游中单角色的职责和重要性。在游戏中,中单扮演着重要的角色,需要具备卓越的技术和意识。然而,纯技术毕竟

2024-05-13 19:48

中单和打野的崛起:LOL国服前十已被占领,中野位对如今版本的重要性分析

近期LOL国服的前十排行榜已经被中单和打野选手所占领,这一现象引起了广泛的讨论。在如今版本中,中野位的重要性越发凸显。中单和打野选手可以通过紧密合作,实现高效的团队配合,

2024-05-13 19:26

王者荣耀中单技巧推荐:掌握前中期游走和发育平衡的关键

在王者荣耀中,作为中单英雄,掌握前中期游走和发育平衡是非常重要的。前中期游走可以帮助中单英雄更好地帮助其他线路,并且保持对野怪和草丛的控制,从而提高自身的经济和经验。

2024-05-13 19:25

如何成为顶尖中路法师:五点意识教学

作为一名中路法师,想要成为顶尖选手并非易事。除了丰富的游戏经验和高超的操作技巧外,更需要具备良好的意识和战术应对能力。在这篇文章中,我们将从五个方面详细介绍如何培养自

2024-05-13 19:16

王者荣耀:中路一塔的重要性你懂吗?拿命去守就对了

在王者荣耀游戏中,中路一塔的重要性不可小觑。中路一塔的守护,可以为队伍带来多种好处,例如控制地图视野、保护己方的资源点、抵御敌方进攻等等。因此,当你的队伍中有人被指定

2024-05-13 19:04