基于Appium实现深度UI遍历工具(三)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Appium实现深度UI遍历工具(三)相关的知识,希望对你有一定的参考价值。

参考技术A 系列文章:

基于Appium实现深度UI遍历工具

基于Appium实现深度UI遍历工具(二)

分享了需求,功能设计,流程,工具选择。那么这次来分享下。整体的框架模块以及开发需要的类包。

第一、整体模块

对功能有了一些设计,接下来,就是对于整体模块的拆分。再去分享实际项目的工程搭建。

1.config

配置模块,针对UI遍历中,所有的配置相关的文件进行管理。

2.case模块

case相关,我们这里把UI遍历作为一个case 来实现。可以创建一个uicrawler.py,控制遍历相关的。

3.common包

里面处理通用的功能,adb封装,log封装,webdriver封装,xpath封装,通用配置的封装,测试报告模块等。

4.testlog

处理里面所有的log,包括脚本的过程的中log,设备执行logcat相关的日志。方便后续的日志分析和问题的定位。

5.testreport

存储测试报告的模块。

6.run.py

执行模块。主要的入口。

第二、开发需要类包

第三方依赖包

1.PyYAML

解析配置文件

2.selenium

用做隐形等待,查找元素

3.lxml

页面的UI解析,用于分析解决xpath,所有的定位的方式,都采用xpath的来进行定位。

4.opencv-python

文件解析

5.Pillow

图片处理,我们在做点击操作的时候,去记录下点击的位置。

6.logbook

log日志处理,记录测试日志

7.Appium-Python-Client

appium的python库。这里会做一些简单的封装。

python自身的库

1.random

随机模块,处理一些随机的,在文本输入的时候,我们去随机地选取一些配置的文件

2.platform

获取一些系统

3.os

文件处理

4.difflib

文本对比

5.datetime

时间处理

6.shutil

文件处理的高级模块

7.hashlib

用于产生一个固定的字符串,其实是一个加密的模块。

大概列举了一些用到的库,在后面的代码编写的过程中,如果遇到需要使用其他类库,还会增加。

以上是关于基于Appium实现深度UI遍历工具(三)的主要内容,如果未能解决你的问题,请参考以下文章

深度优先遍历与广度优先遍历的区别

基于邻接表的深度优先遍历 (非递归)

树二叉树遍历算法(深度优先广度优先遍历,前序中序后序层次)及Java实现

第十三周

日撸 Java 三百行day23-24

networkx图论Depth First Search深度优先搜索遍历DFS,基于递归,Python