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

基于Appium实现深度UI遍历工具(三),第1张

系列文章:

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

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

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

第一、整体模块

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

1config

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

2case模块

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

3common包

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

4testlog

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

5testreport

存储测试报告的模块。

6runpy

执行模块。主要的入口。

第二、开发需要类包

第三方依赖包

1PyYAML

解析配置文件

2selenium

用做隐形等待,查找元素

3lxml

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

4opencv-python

文件解析

5Pillow

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

6logbook

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

7Appium-Python-Client

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

python自身的库

1random

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

2platform

获取一些系统

3os

文件处理

4difflib

文本对比

5datetime

时间处理

6shutil

文件处理的高级模块

7hashlib

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

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

参考官方描述,需要打开Springboard,且确保 WDA 可见,以此打开 WDA,然后调用获取剪贴板的接口,最后再返回原来的待测APP:

例子:

selfdriveractivate_app('comapplespringboard')

selfdriverfind_element_by_accessibility_id('WebDriverAgentRunner-Runner')click()

pasteboard_text =selfdriverget_clipboard_text()

selfdriveractivate_app(bundle_id_of_app_to_test)  #  此处参数为待测APP的bundleid

之前一篇博客已经讲述怎样手动使用 appium-desktop启动测试机上的app ,但我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 + Python37 + appium1180 + Android手机 + 今日头条app + Pycharm

具体的获取方法请参考 APP自动化测试之appium连接真机启动app ,配置信息如下:

appium在本机开启的话则IP为127001,端口默认为4723

我们会看到手机上今日头条app被打开。

我们查看手机,会发现手机正在自动做登录今日头条的app *** 作,且登录成功。

至此,我们通过编写一个简单的Python脚本完成了登录app的 *** 作,如果加上断言,就是一条完整的用例。

以上就是关于基于Appium实现深度UI遍历工具(三)全部的内容,包括:基于Appium实现深度UI遍历工具(三)、appium iOS真机获取剪贴板内容、appium + python编写自动化脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9727542.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存