WWDC 2015 session 406是关于UI Testing的,在最新的xcode 7中已经可以开始创建UI Testing Bundle,支持的iOS及OS X的版本分别为iOS9以上和10.11以上
本文的参考是WWDC的视频及链接,当然喵神也对这个新功能做了介绍
所应用的场景可以是演示效果等。
UI Testing实操
1 在新入手使用UI测试的时候,一般还是先使用控制台上的record UI Test按钮来进行记录之后,再添加自己的XCTAlert对程序的运行进行验证
2 在record期间,xcode会将你的每一步操作转化成测试执行代码在当前光标处添加出来,直到record结束,而xcode所插入的XCUITest代码中出现unicode转义字符的时候,其使用的一般是\Uxxxx的形式,对这种写法,xcode自己会报错incomplete universal character name,略烦,因为\U的定义代表的是4个字节的unicode形式,需要手动将其改写成\u即两字节形式。
3 在匹配界面上的UI的时候,UI的入口点是XCUIApplication实例对象,假定为app,由此顶点向下一层一层UI开始匹配,比如匹配tabbar,则使用app.tabbars.buttons[btn上的文本]即可匹配到相应的tab按钮,此种下标写法直接返回的是XCUIElement对象(当然如果有多个,如果直接对其进行操作也是要另外注意的),在查询子元素的时候 使用的是XCUIElementQuery类对应的方法,可以在一个XCUIElementQuery查询之后紧接着进行另外一个XCUIElementQuery查询,然后通常的做法是显式取第几个匹配,或者如果能够确定只会有一个匹配则也可以直接取XCUIElementQuery的element进行操作
4 通常record UI Test的时候xcode添加的代码都并不是最高效的,可以自行再改写,比如匹配到某个cell之后,不需要再查找其子元素再tap,可以将查找到的cell之后的后续query全去掉。
网友评论