
系列文章:
基于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编写自动化脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)