标签: xcode-ui-testing

如何在UI测试期间在Swift应用程序中隐藏键盘

我刚开始在XCode 7中进行UI测试并遇到了这个问题:

我需要在文本字段中输入文本然后单击按钮.不幸的是,这个按钮隐藏在键盘后面,在将文本输入文本字段时出现.XCode正在尝试滚动以使其可见但我的视图不可滚动因此失败.

我目前的解决方案是:

let textField = app.textFields["placeholder"]
textField.tap()
textField.typeText("my text")
app.childrenMatchingType(.Window).elementBoundByIndex(0).tap() // hide keyboard
app.buttons["hidden button"].tap()
Run Code Online (Sandbox Code Playgroud)

我可以这样做,因为我的ViewController正在拦截触摸:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    view.endEditing(false)
    super.touchesBegan(touches, withEvent: event)
}
Run Code Online (Sandbox Code Playgroud)

我对我的解决方案并不满意,在UI测试期间有没有其他方法可以隐藏键盘?

testing user-interface ios swift xcode-ui-testing

20
推荐指数
7
解决办法
1万
查看次数

如何判断我在Xcode UI测试中使用的设备?

在运行Xcode UI测试时,我想知道正在使用哪个设备/环境(例如iPad Air 2,iOS 9.0,Simulator).

我怎样才能获得这些信息?

testing ios xcode7 xcode-ui-testing

19
推荐指数
3
解决办法
3623
查看次数

我可以禁用Xcode-UI-Tests的动画吗?

我正在使用Xcode7来编写UITest,问题是我需要在验证实际结果之前等待所有步骤发生.这需要花费大量时间与视图控制器推/呈现/消除.

有没有办法在编写测试时禁用动画?

ios xcode7 xcode-ui-testing

19
推荐指数
1
解决办法
3521
查看次数

UI测试Xcode 7-无法访问子视图中的元素

我正在尝试访问子视图中的元素,我发现无法这样做.

层次结构是:

查看控制器:

  • 视图
    • tempView
    • userEnterView
      • zipCodeEntered

我想访问zipCodeEntered文本字段.我有一个名为"zipCodeEntered"的辅助功能标签.

当我尝试记录自动化时,它只注册superview"userEnterView"而不是我可以访问的实际文本字段.

我打印"app.otherElements [SUPER_VIEW_NAME] .debugDescription"以查看该层次结构中的元素,并且它不打印任何元素.

关于为什么我无法访问这些元素/我如何访问它们的任何想法? 在此输入图像描述

xcode ios xcode7 swift2 xcode-ui-testing

19
推荐指数
1
解决办法
8130
查看次数

如何在Xcode的UI测试中检查网络中是否存在静态文本?

我正在使用Xcode 7 XCTest中引入的UI测试API.在我的屏幕上,我有一个从网络加载的文本.

如果我只是用exists属性检查它,测试就会失败.

XCTAssert(app.staticTexts["Text from the network"].exists) // fails
Run Code Online (Sandbox Code Playgroud)

如果我首先将tap或任何其他事件发送到文本,它确实有效:

app.staticTexts["Text from the network"].tap()
XCTAssert(app.staticTexts["Text from the network"].exists) // works
Run Code Online (Sandbox Code Playgroud)

看起来如果我只是调用exists它立即评估它并失败,因为尚未从网络下载文本.但我认为当我调用该tap()方法时,它会等待文本出现.

有没有更好的方法来检查是否存在从网络传送的文本?

像(这段代码不起作用):

XCTAssert(app.staticTexts["Text from the network"].eventuallyExists)
Run Code Online (Sandbox Code Playgroud)

ios xctest swift xcode7 xcode-ui-testing

18
推荐指数
1
解决办法
1万
查看次数

Xcode UI测试示例

我刚刚学习了Xcode中的单元测试.现在我正在尝试Xcode 7,当我创建一个新项目时,我看到有一个新的UI测试组.

在此输入图像描述

我观看了WWDC 2015视频并且它非常好,但你有一个超级简单的例子,我可以自己完成吗?视频示例对我来说有点过于复杂.

笔记

xcode ui-testing ios xcode-ui-testing

18
推荐指数
2
解决办法
2万
查看次数

Xcode UI测试[xcode7-beta6] - 使用辅助功能标签时断言实际标签值

问题其实很简单:

有没有办法在此对象上使用可访问性标签时断言特定标签(例如UILabel)的显示值?

据我所知,在示例中做出的所有断言(例如XCTAssertEquals),无论是来自WWDC Talk还是Blogposts,都只检查是否存在查询的元素,XCTAssertEquals(app.staticTexts["myValue"].exists, true)或者表中单元格的数量是否正确XCTAssertEquals(app.tables.cells.count, 5).因此,当避免使用可访问性标签时,可以检查对象是否显示某个值,而不是哪个对象/元素.当使用可访问性标签时,它会让我有机会查询显示的值,因为app.staticTexts["myValue"]现在无法提供结果但app.staticTexts["myAccessibilityLabel"]会命中.

假设我想测试我的"将新单元格添加到表格"功能,我可以测试列表中是否添加了新单元格,但我不知道新单元格是添加到列表的顶部还是底部或介于两者之间.

对我来说,检查特定元素是否具有特定值的简单方法应该是UI测试的明智之举.

由于缺少文档,我可能会忽略显而易见的事实.如果是这样,请告诉我.

testing ios xcode-ui-testing xcode7-beta6

18
推荐指数
3
解决办法
1万
查看次数

XCUIElement - 获取图像值

我有一个类型.Image和类的变量XCUIElement.像这样的东西:

var image = app.descendantsMatchingType(.Image).elementAtIndex(0)

有没有办法可以提取实际图像,以便将其与其他图像进行比较?

我试过caling value方法,但它返回一个字符串.将它投射到UIImage总是失败.

ios xctest swift xcode-ui-testing

17
推荐指数
2
解决办法
4398
查看次数

Xcode 7,UI-Testing:使用UITableView

我正面临一个问题,使用UITestingApple在2015年WWDC上引入的xCode框架.我有一个UITableView,这个表包含很多单元格.我还有一个带有单元格标题的NSArray - 如果NSArray中包含单元格标题,则应该点击该单元格.我的问题是我无法滚动特定单元格的表格视图,因为框架不包含处理表格视图的方法,只有滑动手势(向下,向上).

也许有人知道如何在表视图中点击特定的单元格?或者我如何滚动特定单元格的表视图?因为当我调用tap()在屏幕上看不到的单元格的方法时 - 没有任何反应.

提前致谢!

ui-testing ios xcode7 xcode-ui-testing

17
推荐指数
4
解决办法
1万
查看次数

当Xcode bot运行时,文本在文本视图中键入时,UI测试失败

我有以下XCTest UI测试,它将文本键入文本视图.

let textView = app.textViews.elementBoundByIndex(0)
textView.tap()
textView.typeText("Hello world")
Run Code Online (Sandbox Code Playgroud)

当作为Xcode bot运行时,它会显示以下typeText呼叫错误.

断言:UI测试失败 - 失败:等待键事件完成超时

在此输入图像描述

有趣的是,当我从同一台计算机上的Xcode手动运行时,测试通过了.在升级到Xcode 7.1/iOS 9.1之前,此测试也通过了Xcode bot.可能是问题的根源是什么?

这是一个带有UI测试的独立演示:https: //github.com/exchangegroup/UITestTextViewDemo

iOS 9.1模拟器,OS X 10.11.1(15B42),Xcode 7.1(7B91b),OS X Server 5.0.15(15S4033)

向Apple报道.

uitextview ios swift xcode-ui-testing

17
推荐指数
2
解决办法
4435
查看次数