UI自动化测试大纲:
1.Apple提供的UITest
2.UIAutomation
3.specta expecta
0.测试框架选型
http://blog.csdn.net/colorapp/article/details/47007431
Specta (BDD框架)行为驱动开发(英语:Behavior-driven development,缩写BDD)
Expecta(断言框架)
CMock(mock框架)
OHHTTPStubs(http stub框架)
KIF(UI Test)
1、系统的UITest
1、支持OC/Swift苹果原生语法
2、支持屏幕行为录制
3、寻找层级依赖Accessibility属性,得到的都是XCUITestElement,UI控件的代理类,不能直接获取控件属性。
4、appium 1.6beta版本对其有支持
func testEmptyUserNameAndPassword() {
XCUIApplication().buttons["Login"].tap()
}
使用 buttons 来获取一个对 app 的 query 对象,它可以用来寻找 app 内所有被标记为按钮的 UI 元素,其实上它是 XCUIApplication().descendantsMatchingType(.Button)
的简写形式。
(疑问1:所有的button,这个button树系统怎么维护?什么时候创建的,查找效率高不高?)
除了 descendantsMatchingType
以外,还有仅获取当前层级子元素的 childrenMatchingType 和所有包含的元素的 containingType。我们可以通过级联和结合使用这些方法获取到我们想要的层级的元素。
(疑问2:这里提到了一个层级的概念,说明刚才的全局查找之外,还有自定义的层级查找,提高效率。这个如何使用?)
2、UIAutomation
1、S脚本写的测试代码,基于Instrument的Automation控件测试。
2、现有封装 : Appium和Macaca
3、XCode8之后Instrument不再对它有支持
4、同样依赖Accessibility
3.Appium
基于webdriver的一套移动测试框架。(ps:现在好像是用的WebDriverAgent )
webdriver——网页浏览器的测试框架。
找了半天终于在Github上看到了官方的中文文档,真良心