UI Testing实现IOS自动化的菜鸟教程-4-第一条用例

这篇文章实现的是一个简单的登录用例,用例的步骤为:

1.登录到首页,点击“点击登录”的按钮,进入登录页面。

2.在登录页面上,输入账号,输入密码,点击登录。

3.登录成功,页面自动切换到首页,“点击登录”的页面消失,显示当前余额。

这是一个比较简单的用例,可以用自动录制功能就可以实现。


步骤1-2的(手写)自动化代码类似如下:

XCUIApplication().buttons["点击登录"].tap()

let ele =XCUIApplication().textFields["请输入手机号|用户名"]

ele.tap()

ele.typeText("xulei6666") //输入测试账号

let ele2 =XCUIApplication().secureTextFields["请输入密码"]

ele2.tap()

ele2.typeText("xulei8888")//输入测试密码

XCUIApplication().buttons["登录"].tap()

从代码很容易知道做了什么事情,就是步骤1-2。基本的元素,按钮是button,文本是textField,密码输入框是secureTextFields。


如何确定元素类型

这里需要用到Xcode里头的一个工具 Accessibility Inspector ,打开方式如下图1,打开之后,按照图2所示的123顺序,选点击选取按钮,再把光标移动到需要确认的元素上,点击一下,然后就查看3里头的信息,基本上按照XCUIApplication().(Type)["(Value)"]这个套路写进去,基本都能用上。

但不是所有的都是这般搞定,像是上面的用例里头,密码输入框显示的Type是text field , 但是实际上代码需要写的Type是secureTextFields,如果按照textfield来写,则输入不成功。这个需要多了解XCUIElementTypeQueryProvider的元素列表(第三章)。

UI Testing实现IOS自动化的菜鸟教程-4-第一条用例_第1张图片
图1:工具 Accessibility Inspector

UI Testing实现IOS自动化的菜鸟教程-4-第一条用例_第2张图片


如何确定登录成功?

这就要用到Assert(断言),用例会有测试的期望结果,如果不符合,则判定测试失败。在用代码来实现就是

assert(condition: Bool)

括号里头的是指一个条件,当为true的时候,测试用例就过。当为false则触发一个异常,导致用例失败,测试不通过。在本次例子中,要判断之前的登录按钮消失,新出来一行本文取代。则判断该文本是否存在(元素.exists)即可,代码如下:

assert(XCUIApplication().staticTexts["我的总资产:"].exists)


小结

本章讲述的是一条简单的测试用例最简单的自动化代码实现,介绍了如何去查找元素,进行断言判断。涉及到的代码行数不超过10条(要精简的话,更少),这只是自动化测试中最基本,也是最简单的入门步骤。掌握了后,就能蹭蹭蹭的开始写一些测试用例进行练手了。

然后,这仅仅是个开始,还有很多需要完善的地方。后面的章节再讲(入门后的章节很难写,都是坑。。。)

你可能感兴趣的:(UI Testing实现IOS自动化的菜鸟教程-4-第一条用例)