uiautomation中文文档python,uiautomation中文文档
基于Python+UIautomation的WindowsGUI自动化测试实战
1 测试需求
模拟用户操作,打开记事本进行内容输入
2 测试步骤
2.1 用例1
打开记事本;
窗口最大化;
输入"人生苦短,我用Python!";
关闭窗口;
不保存直接退出。
2.2 用例2
打开记事本;
窗口最大化
输入:
Python之禅!
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)"
如何使用UIAutomation进行iOS自动化测试
使用iOS模拟器
1. 下载示例应用程序TestAutomation.xcodeproj,并打开它。这个项目是一个很简单的包含2个tab的tabbar应用程序。
2. 确保选中如下图所示的“TestAutomation iPhone 5.0
Simulator”模式(或许已经切换成5.1了,因此它可能是iPhone5.1模拟器)。
3. 启动Instruments(Product Profile),或者通过?I。
4. 选择左边的iOS Simulator,然后再选择Automation模板,然后点击“Profile”。
5. Instruments就已经启动好后,然后直接开始录制了。这里先停止录制,(红包按钮或者?R)。
6. 在左边的Scripts窗口,点击“Add Create”创建新的脚本。
7. 在脚本编辑器里,输入下面的代码
var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();
target.logElementTree();
8. 重新运行这段脚本?R(不需要保存)。脚本跑起来后,可以在日志打完后停止它。
赞一个!就这样完成了第一个UIAutomation测试用例。
使用iOS设备
除了将测试用例运行模拟器上,也可以将它运行在一个真实的设备上。不过,自动化测试用例只能运行在支持多任务的:iPhone 3GS,iPad,iOS
4.0等设备上。遗憾的是不管iPhone 3G的系统版本是什么,都不支持。
下面是如何操作:
1. 通过USB接口连接上iPhone。
2. 选择 “TestAutomation iOS Device”模式。
3. 确保Developper profile设置成Release模式(而不是Ad-Hoc Distribution
profile)。默认情况下,profiling是设置成Release模式的(因为没有必要将profile设置成Debug模式)。
4. 启动测试 (?I)
5. 后面的步骤请参考前面模拟器部分
python3 uiautomator2 (二) 、操作app
1、连接手机
2、启动 python -m weditor
3、以抖音为例,手机打开抖音
4、current: 获取当前包名和activity
控制台输入: uiautomator2 current
5、通过包名打开抖音app
如果我们想打开一个干净的app,可以使用app_clear 先清除app数据再打开
如上图,如果我们要定位图中2的元素时,再上几层级都有相同的元素,我们就可通过父级元素进行定位子级元素
或者
取第二个元素:
通过兄弟定位
如图想关注某个抖音号为 aaaa,的用户,可现通过定位抖音号,再去查找它的兄弟“关注”按钮