[英]Xcode UI Test example
我刚刚学习了Xcode中的单元测试 。 现在我正在尝试Xcode 7,当我创建一个新项目时,我看到有一个新的UI测试组。
我观看了WWDC 2015视频并且它非常好,但你有一个超级简单的例子,我可以自己完成吗? 视频示例对我来说有点过于复杂。
笔记
使用单元测试来测试类中方法的有效性。 您可以使用它们来测试您编写的代码。 (参见我在Xcode中设置简单单元测试的另一个例子 。)
使用UI测试检查用户界面的有效性。 可以把它想象成拥有自己的机器人,并与普通用户的应用程序进行所有正常的交互。 这样可以节省您自己完成的时间。
在撰写本文时,很难访问UI组件的许多属性,但只需通过点击它们并轻扫它们即可确认它们在那里。
这是关于我能想到的最简单的设置和UI测试:按下时按钮会更改标签的文本。
如果要将UI测试添加到在Xcode 7之前创建的项目,请参阅此答案 。 (文件>新建>目标>测试> Cocoa Touch UI测试包)
在故事板中添加UILabel
和UIButton
在ViewController
创建一个@IBOutlet和@IBAction,并在按下button
时更改label
文本。
import UIKit class ViewController: UIViewController { @IBOutlet weak var label: UILabel! @IBAction func button(sender: AnyObject) { label.text = "Hello" } }
testExample()
方法中。 (你可以删除评论) 在应用程序中,(1)点击标签,(2)点击按钮,然后(3)再次点击标签。 (4)再次按“录制”按钮停止录制。 应该已经为您自动生成以下代码:
func testExample() { let app = XCUIApplication() app.staticTexts["Label"].tap() app.buttons["Button"].tap() app.staticTexts["Hello"].tap() }
使用staticText
行作为制作XCTAssert
。 现在你应该:
func testExample() { let app = XCUIApplication() XCTAssert(app.staticTexts["Label"].exists) app.buttons["Button"].tap() XCTAssert(app.staticTexts["Hello"].exists) }
按左侧的菱形以运行UI测试。 它通过时应该变成绿色。
UIButton
和UILabel
,并且标签的文本发生了变化。 如果你想看到它失败(一个好主意),你可以将“Hello”更改为其他内容。 @Suragch +1的答案。 我观察并想要分享的一件事是UI测试案例中的每个函数都必须以“test”开头。 之后你可以追加额外的名字。 只有这样才会出现按钮(用于点击开始测试)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.