UI 测试:当嵌套在表格视图单元格中时滑块无法调整

Hua*_*ham 2 tableview uislider ios swift xcode-ui-testing

在UI测试上的Xcode 9.0(9A235),与之交互UISlideradjust(toNormalizedSliderPosition:)时不工作在所有UISlider嵌套在UITableViewCell

我已经在许多不同的场景中进行了测试: - Normal UISliders 没有嵌入到UITableView使用该adjust方法的工作中。-UISlider与 a 共存UITableView但不在 Table View Cell 内继续使用adjust -UISlider在 aUITableView中可以唯一标识。-UISlider在 a 中识别UITableView可以响应简单的事件,例如tap() -UISlider在 aUITableView中识别根本不适用于adjust方法,即使我将行数修改为 1。错误消息是:

获取元素 pid 的属性失败:24415,elementOrHash.elementID:106102876671744.43:错误域=XCTDaemonErrorDomain 代码=13“获取属性 5011 的值返回 AX 错误 -25205。” UserInfo={NSLocalizedDescription=获取属性 5011 的值返回 AX 错误 -25205。}

我在网上找到的相关讨论:https : //forums.developer.apple.com/thread/77445

如果有人有兴趣查看它,我也已将我的代码上传到网上

我已经就此向 Apple提交了错误报告。我要问的是,有没有人知道UISlider当滑块嵌套在UITableViewCell. 谢谢!

joe*_*ern 5

您可以将其用作解决方法:

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 %")
}
Run Code Online (Sandbox Code Playgroud)