python 自动化框架_基于Python Pocoui库的自动化录制框架

本文介绍了一款基于Python Poco库的游戏自动化测试框架,该框架解决了AirtestIDE在游戏自动化测试中存在的问题,如目录树结构复杂、驱动速度慢和代码可维护性差等。新框架支持录制用户操作生成测试用例,自动解析可点击节点并渲染在游戏截图上,通过坐标点击实现更流畅的模拟操作。用户只需选择节点,程序即可记录点击步骤并生成测试用例,提高了自动化测试的效率和准确性。
摘要由CSDN通过智能技术生成

基于Python Pocoui库的自动化录制框架

游戏可以写一些脚本驱动游戏自动化测试,其自动化原理基本和Appium测试手机APP基本一样,可以通过相应的驱动解析出相应的目录结构,是一棵树,树的大小基本和游戏中存在的内容有关。

poco库的原理就是游戏运行过程中通过ADB命令获取到这些树,进行解析,找到代码中的节点进行操作。前期通过AirtestIDE写一些脚本,发现有如下几个问题。

1.目录树结构太多,显示在页面上层级过多,难以把控。

2.驱动过慢,自动化脚本驱动程序运行慢,尤其是在获取UI树的时候,会卡顿,影响程序性能。

3.相应节点都写在代码上,代码可维护差,且代码重复性高。

前期也写了一些遍历框架、及探索自动化框架但效果不怎么理想,开发一套属于自己的自动化录制框架势在必行。经过相应的研究,及前期的技术积累。开发了自动化录制框架,其框架有以下优点。

1.支持录制,即在用户点击过程中测试用例的生成。

2.自动解析可点击节点,并渲染到游戏截图上。

3.采用坐标点击方式,点击过程不在遍历UI树,游戏运行过程和人工点击效果相似。

使用方式如下:

1

2

3pip install -r requirements.txt

python main.py

相应的运行过程:

程序自动获取当前游戏画面并标记所有可点击节点。

命令窗口将会提示用户点击哪一个节点,并提示节点的名字。

用户选择节点后程序将会模拟用户进行执行,此时点击步骤已经被记录。

询问是否达到预期效果

属于步骤将被写入测试用例中。输入其它不被记录,防止出现点击出错的情况。

最后导出测试用例,大约是这个样子。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26{

"author": null,

"gameName": "test2",

"steps": [

{

"name": "BtnBgEnter",

"pos": [

0.5,

0.889444351

],

"type": "Button",

"sleep": 12

},

{

"name": "BtnBag",

"pos": [

0.9213542,

0.0379629247

],

"type": "Button",

"code": "print('open bag')"

},

],

"originPage": null,

"executeTime": 0

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值