在Xcode 9.0(9A235)上的UI测试中,当UISlider
嵌套在adjust(toNormalizedSliderPosition:)
中时,使用UISlider
与UITableViewCell
进行交互根本不起作用。
我已经在许多不同的场景中进行了测试:
-未嵌入UISlider
的普通UITableView
与adjust
方法一起使用可以正常工作。
-与UISlider
共存但不在表视图单元内的UITableView
继续与adjust
一起使用
-可以唯一标识UISlider
中的UITableView
。
-在UISlider
中标识的UITableView
可以响应简单的事件,例如tap()
-即使我将行数修改为1,在UISlider
中标识的UITableView
根本不适用adjust
方法。错误消息是:
元素pid的失败获取属性:24415,
elementOrHash.elementID:106102876671744.43:错误
Domain = XCTDaemonErrorDomain代码= 13“正在获取属性5011的值
返回AX错误-25205。“UserInfo = {NSLocalizedDescription =正在获取
属性5011的值返回了AX错误-25205。}
我在网上找到的相关讨论:
https://forums.developer.apple.com/thread/77445
如果有人对此感兴趣,我也上传了my code online。
我已经就此向Apple提交了bug report。我要问的是,是否有人知道将滑块嵌套在UISlider
中时可以用来调整UITableViewCell
值的可行解决方法?谢谢!
最佳答案
您可以将其用作解决方法:
func testSliderAdjustsInTableView() {
let app = XCUIApplication()
app.staticTexts["Slider in Table View UI Test"].tap()
let cell = app.tables.element.cells["cell 0"]
let button = cell.buttons["Test Button"]
button.tap()
let slider = cell.sliders["value slider"]
XCTAssert(slider.exists)
let fiftyPercent = slider.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.5))
let ninetyPercent = slider.coordinate(withNormalizedOffset: CGVector(dx: 0.9, dy: 0.5))
fiftyPercent.press(forDuration: 0.1, thenDragTo: ninetyPercent)
XCTAssertEqual(slider.value as! String, "90 %")
}
关于ios - UI测试:滑块嵌套在“表格 View ”单元格中时无法调整,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46785790/