UIAutomation使用測试入门

Posted yutingliuyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIAutomation使用測试入门相关的知识,希望对你有一定的参考价值。

自己主动化測试的优点:

1、自己主动化能够自己主动測试,不须要人的干预。同一时候还能够不断地反复某一个动作。

2、自己主动化測试在添加了新的功能之后。还能够回归到原理的功能,使其原来的功能不会受到影响。

缺点:会受到測试系统和project师的制约。


自己主动化測试脚本的执行有可能受到不同层次的限制与制约。

大概就是主要两个方面:

1、系统级别的执行机制,并非全部的程序(中的)代码能够自己主动执行,由于ios中的程序的之间总是存在着一些权限。这个就是要考虑到安全级别的问题。签名

2、应用程序级别的限制主要来自于对控件的识别。


hereBy

1、被測试的应用程序必须是在苹果官方的developer中签名,或者仅仅是在模拟器上測试。

(下载别人的应用是不能够用来測试UIAutomation的。由于签名的不匹配。所以要获取源码才干够在自己的真机上面測试)

2、測试的过程中要处理UI控件的可訪问性:

eg:代码写的时候要设置对应的可訪问属性:mytextfieldl.accessbilityEnabled = YES;

假设是xib的时候:例如以下图

技术分享


二、对脚本的编辑:

查看測试结果他们之间的控件关系:图:能够看到输出控件树的

技术分享

它们的关系:UIAtarget ——> UIAplication ——>UIAWindow ——> UINavigationBar——>UIButton(add)。这个是add这个button的控件树,其它的控件也是能够的。

然后既能够通过这个结构来获取这“add”名字的button的控件,进行“日志输出”等等操作。


var addButton = UIAtarget().localTarget().frontMostApp().mainWindow().navigationBars()[0].buttons()[1];
addButton.tap();
//我们能够看到这些空间的关系。由于用的是javascript的语法,也就是用javascript语言来进行測试:
相同。我们能够通过名字来获取空间:(这些控件的名字就是开发的时候给定的名字:我们能够通过測试的树图中看到有关控件的名字)(由于数组的方式的可读性和可维护性比較差)
var addButton = UIAtarget().localTarget().frontMostApp().mainWindow().navigationBars()["Recipes"].buttons()["Add"];




























以上是关于UIAutomation使用測试入门的主要内容,如果未能解决你的问题,请参考以下文章

Windows桌面程序自动化控制之uiautomation模块全面讲解

使用 UIAutomation 处理警报

使用 UIAutomation 的仪器出现意外错误

清除 UIAutomation 测试的钥匙串

pythonGUI自动化:uiautomation的常见使用

在 UIAutomation 中使用accessibilityIdentifier 获取UIElement