Tag: xcode ui testing

Xcode UItesting手册快照

我想手动从我的应用程序使用Xcode 7中的UItesting一些快照。默认情况下,Xcode的每一个步骤的截图,并在结果中我得到了在视图控制器之间的过渡中取得的屏幕截图。 我想在特定时刻手动拍摄快照。 任何想法如何做到这一点? 我知道如何截图UIView,但XCUIApplication不提供任何API来获取UIView对象。

Xcode的uitesting:staticTexts开始

我想检查一下以我的用户界面为开头的元素是否存在。 如何在Xcode 7 UItesting中实现它? app.tables["AAA"].staticTexts["Fax: 0049XXXXXXXX"].exists 我有三个元素到一个tableview单元格中,只有一个(第三个或最后一个)以前缀Fax:0049开始。我该如何检查这个元素的存在? 我试着用 app.tables["AAA"].cells.staticTexts.elementBoundByIndex(2).exists 但没有,有一些想法? 干杯

是否有可能在Xcode 7自动UItesting中存储HTTP请求?

我一直试图在Xcode 7自动UItesting中使用像OHHTTPStubs这样的工具拦截并存根/模拟HTTP请求,但是没有运气。 下面是一个例子,我试图在UItesting文件的setUp方法中使用OHHTTPStubs来捕获任何HTTP请求: override func setUp() { super.setUp() let matcher: OHHTTPStubsTestBlock = { (request) -> Bool in return true } OHHTTPStubs.stubRequestsPassingTest(matcher) { (response) -> OHHTTPStubsResponse! in return OHHTTPStubsResponse.init() } } 有什么关于UItesting工作的方式来防止这种情况? 有没有人能够实现这一目标?

XCUIElement – 获取图像值

我有一个types为XCUIElement和类XCUIElement 。 像这样的东西: var image = app.descendantsMatchingType(.Image).elementAtIndex(0) 有没有一种方法可以提取实际的图像,所以我可以将它与另一个图像进行比较? 我已经试过调整value方法,但它返回一个string。 将其转换为UIImage总是失败。

Xcode 7 UItesting,录制button变灰

我正在尝试使用Xcode 7将UItesting添加到我现有的项目中。但UItesting录制button始终呈灰色。 我在这里错过了什么? 尝试重新启动Xcode。 清理和重build项目并添加新的UItesting目标。 任何人都经历了同样的行为?

Xcode UItesting – 用addSubview添加的Uiviews对于UItesting是完全不可见的

我一直在尝试XCode 7.3上的新的UItesting,我发现这对我来说似乎是一个错误。 问题是,通过“ addSubview ”方法添加的视图似乎对UItesting系统是完全不可见的。 我有这样的看法: 而这个UIview创build代码: let container = UIView(frame: CGRectMake(0, 0, 375, 200)) container.backgroundColor = UIColor.orangeColor() container.isAccessibilityElement = false let label = UILabel(frame: CGRectMake(0, 100, 375, 20)) label.backgroundColor = UIColor.yellowColor() label.textAlignment = NSTextAlignment.Center label.accessibilityIdentifier = "labelIdentifier" label.text = "I am a label" container.addSubview(label) 而这个简单的UItesting: func testExample() { let final = XCUIApplication().staticTexts.containingType(.StaticText, identifier: "labelIdentifier").element […]

在XCTest UItesting中复制拉来刷新

我正在尝试使用Xcode 7(testing版3)中新的Xcode UItesting框架来复制UITableView刷新操作, 我目前的做法是从桌子上拖动到我能find的桌子下面的任何元素。 这工作时有一个像UIToolbar或UITabBar表下面的固定项目我宁愿不依赖于UITabBar或UIToolbar但我不能找出一种方法来执行拉动刷新/拖动动作,而不使用该方法XCUIElement 。 func pressForDuration(duration: NSTimeInterval, thenDragToElement otherElement: XCUIElement) 但是,当我没有工具栏/选项卡,并尝试拖动使用单元格失败 这是我的代码的相关部分: func testRefresh() { //For testing cell for _ in 0…9 { addCell() } refreshTable() } func refreshTable(var tbl: XCUIElement? = nil) { let app = XCUIApplication() if tbl == nil { let tables = app.tables if tables.count > 0 { tbl […]

如何编写UItesting覆盖在Xcode的Facebooklogin?

我想在Xcode中编写一个用FBDSKLoginKit进行login的UItesting。 然而, Facebook的iOS SDK使用SFSafariViewController呈现给用户来validation她,不幸的是, 没有办法如何在Xcode 7的UItesting中与SFSafariViewController进行交互 。 任何想法如何testingFacebooklogin而不与SFSafariViewController交互?

XCTestCase:等待应用程序闲置

我的UItesting失败,因为testing等待无尽,直到应用闲置。 我看不到背景中有什么事情发生,比如加载微调。 它只发生在一个选项卡上。 所有其他选项卡都可以打开,但屏幕3上的testing失败。在屏幕3上捕捉testing后,单击另一个选项卡,testing将继续并成功完成。 有任何想法吗? – (void)testExample { XCUIElementQuery* tabBarsQuery = self.app.tabBars; [tabBarsQuery.buttons[@"Screen2"] tap]; [tabBarsQuery.buttons[@"Screen3"] tap]; [tabBarsQuery.buttons[@"Screen1"] tap]; [tabBarsQuery.buttons[@"Screen4"] tap]; }

由于物理设备上的XCApplicationStateRunningActive,Xcode UItesting失败

在我的应用程序中,我添加了一些UItesting。 使用一种testing方法,一切正常,但是当我添加第二种方法时,由于以下错误,testing失败: 我感觉像[[[XCUIApplication alloc] init]启动]; 不会终止应用程序,因为它假设。 编辑1: 我还注意到,如果我testing完成后按下我的物理设备上的主页button,我可以看到应用程序的两个实例仍在后台运行。 如果我尝试再次启动testing,我得到Xcode中的消息,它不能开始运行应用程序,因为应用程序null仍在运行。 这是令人沮丧的:( 有没有人有线索或有类似的问题? 任何forms的帮助,高度赞赏。