草庐IT

xcode - 使用动态标签的 XC UITesting

我试图断言标签(动态填充)的值包含一个子字符串作为UITest结果的一部分。我的问题是XCTAssert似乎不允许子字符串或近似匹配(从我能找到的内容来看)。有没有人对我如何编写以下内容以找到“几小时前”而不是特定的“xx小时前”的匹配项有任何建议?目前我只能让它与完全匹配一起工作(如下所示)。//SetupanexpectationlettextToFind=app.staticTexts["13hoursago"]letexists=NSPredicate(format:"exists==true")expectationForPredicate(exists,evaluatedW

ios - 使用 XCTestCase 点击 MKAnnotationView

我想使用带有UITest的XCTestCase点击MKAnnotationView,所以我将mapView作为XCUIElement。我不知道如何从mapView获取注释,我不想在屏幕上放置固定位置,因为它已经在各种设备上进行了测试。所以我被困在让mapView:XCUIElement=app.maps.elementBoundByIndex(0)有什么想法吗? 最佳答案 要与map注释交互,请使用title属性引用的otherElements。例如,在您的生产代码中,在您的MKAnnotation中设置一个标题。classAnno

ios - UITesting 如何获取属于 tabBar 部分的数字?

对标题感到抱歉,真的不知道如何表达这个问题。这里有一张图片可以提供帮助:我希望能够将“通知”选项卡旁边的数字“5”放入一个变量中,并且正在努力做到这一点。“通知”选项卡就是这个按钮XCUIApplication().tabBars.buttons["Notifications"] 最佳答案 每个UITabBarItem都有一个badgeValuetabBarController?.tabBar.items?[3].badgeValue 关于ios-UITesting如何获取属于tabBa

ios - 如何在 Xcode 的 UITests 下从 UIImagePickerController 的某个索引处选择图像?

目前我访问照片库并通过以下方式获取照片:extensionXCUIApplication{funcpickPhotoFromImagePickerAtIndex(index:UInt){tables.buttons["Moments"].tap()collectionViews["PhotosGridView"].tapCellAtIndex(index)}}使用示例:photosCollectionView.tapCellAtIndex(0)app.pickPhotoFromImagePickerAtIndex(5)此方法有时会崩溃。这取决于画廊中的照片。有没有什么办法可以更优雅有效

iOS UITesting 如何关闭 Popover(iPad Popover NOT Alert Style)

我有一个非常复杂的应用程序,有很多View和弹出窗口,可以快速选择条目。我无法关闭弹出窗口。我尝试了很多,例如:在窗口中点击坐标app.otherElements["PopoverDismissRegion"]命中后面的元素弹出窗口(根本无法点击)当我在XCode中记录它时,我得到:app.otherElements["PopoverDismissRegion"]这对我来说毫无意义。希望有人能帮忙。谢谢信息:iOS10.2、Xcode8.2.1、iPadAir2(设备和模拟器,结果相同) 最佳答案 编辑找到更好的解决方案here:X

ios - 如何防止应用程序在 Xcode 中进行 UI 测试后自动退出?

我想让UI测试自动将我引导至应用的某些部分,然后我将进行一些手动测试。但是,应用程序会在UI测试完成后自动退出。有什么方法可以防止这种情况发生并实现我的目标吗? 最佳答案 对于UI测试,您只需在测试结束时设置一个断点即可。一旦遇到断点,您就可以继续使用调试应用程序。 关于ios-如何防止应用程序在Xcode中进行UI测试后自动退出?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

ios - 如何在我没有源代码的应用程序上执行 UITesting?

我一直在阅读Apple新的和改进的XCTest/UITesting框架,作为Android开发人员我有一些问题。在android中,要启动一个我没有源代码来运行UiAutomator的应用程序,我只需使用@Beforepublicvoidsetup(){//InitUiDeviceinstanceInstrumentationmInstrumentation=InstrumentationRegistry.getInstrumentation();mDevice=UiDevice.getInstance(mInstrumentation);//startfromhomescreenon

ios - 当 waitForExpectations 失败时在 UITest 上取得成功

我有一个任务是让UITest成功通过,如果预期的元素(在我的例子中是警报)在超时之前没有出现(根据服务器请求)。代码:letelement=app.alerts["testtext"]letexistsPredicate=NSPredicate(format:"exists==true")expectation(for:existsPredicate,evaluatedWith:element,handler:nil)waitForExpectations(timeout:10,handler:nil)//whentimeoutexpiredtestshouldfinishwithsu

Swift UITest - 找不到具有可访问性标识符的文本字段的匹配项

尝试创建一个UITest,用于在文本字段中输入电子邮件地址/密码,然后点击登录按钮。使用Xcode。我看到UITest导航到正确的页面,但它没有检测到文本字段。我确保两个文本字段都选中了“辅助功能”框,并为它们提供了标识符。我收到这个错误:UITestingFailure-NomatchesfoundfortextfieldfunctestExample(){letapp=XCUIApplication()//Testloginpageapp.buttons["loginButton"].tap()//HereitnavigatestothedesiredpageletemailFie

ios - 将光标放在 UITest 下 UITextView 的末尾

这就是我在UITests中清除UITextFields和UITextViews的方式。extensionXCUIElement{funcclear(){tap()while(valueas!String).characters.count>0{XCUIApplication().keys["delete"].tap()}}}使用示例:descriptionTextView.type("SomethingaboutRoom.")descriptionTextView.clear()如果我运行UITests,它总是在UITextView的开头点击。最后怎么点击?