UItesting:点击 UIcollectionview 然后测试它失败

Posted

技术标签:

【中文标题】UItesting:点击 UIcollectionview 然后测试它失败【英文标题】:UItesting : Click on UIcollectionview then testing it get failed 【发布时间】:2017-10-11 14:52:01 【问题描述】:

我是 ui 测试的新手。在录制过程中,当我点击 ui-collection view时,第一个对象显示在UI上,对应于测试示例方法中编写的代码是:

XCUIElement *window = [[app childrenMatchingType:XCUIElementTypeWindow] elementBoundByIndex:0];
    XCUIElement *element2 = [[[[window childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element;
    [element2 tap]; 

当自动化测试示例方法时,无法获取 ui-collection 视图的第一个对象。请提出一种方法来做到这一点。 提前致谢。

【问题讨论】:

我刚刚找到了一种方法,只需在属性检查器中取消选中可访问性启用并重新运行记录。 【参考方案1】:

记录 UITests 往往会给你很长很丑的查询。我强烈建议你看看如何手动编写 UITests。这真的很容易,查询看起来好多了。

例如:点击收藏视图的第一个单元格,您只需执行以下操作(假设当前屏幕上只有一个UICollectionView):

Objective-C

- (void)testExample 
    XCUIApplication *app = [[XCUIApplication alloc] init];
    [app launch];

    [[app.collectionViews.cells elementBoundByIndex:0] tap];

斯威夫特

func testExample() 
    let app = XCUIApplication()
    app.launch()

    // tap on the first collection view cell on the current screen
    app.collectionViews.cells.element(boundBy:0).tap()

【讨论】:

你能告诉我更多关于如何聚焦你的键盘吗?因为当我在 ui-text 字段上进行测试时,出现错误说元素和任何后代都没有键盘焦点。感谢您的宝贵时间。 在您可以在 UITextField 中输入文本之前,您必须先点击()它。 我正在点击它,但我想在播放录制的代码时它不知道在哪里点击,所以它点击其他地方而不是那个特定位置,所以它给出了这些错误:-既不是元素也不是任何后代都有键盘焦点。元素: 您真的应该尝试手动编写测试。查看此问题的答案以获取有关如何访问文本字段的指导:***.com/questions/34658482/…

以上是关于UItesting:点击 UIcollectionview 然后测试它失败的主要内容,如果未能解决你的问题,请参考以下文章

iOS UITesting 如何关闭弹出框(iPad 弹出框不提醒样式)

在 XCTest (UITesting) 中获取设备名称

iOS UITesting 错误

iphone UITesting一个数字按钮

如何在 Xamarin.Forms.UITesting 中触发/调试后门功能?

XCode UITesting Issue TrackList