滚动直到元素可见iOS UI Automation with xcode7

滚动直到元素可见iOS UI Automation with xcode7,第1张

概述所以随着新的 xcode更新,苹果已经改变了我们进行UI测试的方式.在仪器中,我们使用 java脚本函数“isVisible”来确定我们的目标元素是否可见. 我试图在客观c中复制这个,但我似乎找不到相当于这个.我有一个表视图,一个原型单元格上有两个标签.这个原型单元可以重复使用50次. 我试图滚动直到最后一个单元格可见,我这样做: if (![[[[[[XCUIApplication alloc] 所以随着新的 xcode更新,苹果已经改变了我们进行UI测试的方式.在仪器中,我们使用 java脚本函数“isVisible”来确定我们的目标元素是否可见.

我试图在客观c中复制这个,但我似乎找不到相当于这个.我有一个表视图,一个原型单元格上有两个标签.这个原型单元可以重复使用50次.

我试图滚动直到最后一个单元格可见,我这样做:

if (![[[[[[XCUIApplication alloc] init].tables childrenMatchingType:XCUIElementTypeCell] matchingIDentifIEr:@"cell"] elementBoundByIndex:49].staticTexts[@"text"] exists]) {        [[[[[[XCUIApplication alloc] init].tables childrenMatchingType:XCUIElementTypeCell] matchingIDentifIEr:@"cell"] elementBoundByIndex:0].staticTexts[@"text"] swipeUp];}

但是,由于元素在加载视图时存在,所以不会刷卡.请帮忙,因为这让我疯狂.

解决方法 您应该扩展XCUIElement的方法列表.第一个方法(scrolltoElement :)将在tableVIEw上调用,第二个扩展方法可以帮助您确定元素是否在主窗口上.
extension XCUIElement {    func scrolltoElement(element: XCUIElement) {        while !element.visible() {            swipeUp()        }    }    func visible() -> Bool {        guard self.exists && !CGRectIsEmpty(self.frame) else { return false }        return CGRectContainsRect(XCUIApplication().windows.elementBoundByIndex(0).frame,self.frame)    }}

滚动代码应该这样(例如滚动到最后一个单元格):

func testScrolltable() {    let app = XCUIApplication()    let table = app.tables.elementBoundByIndex(0)    let lastCell = table.cells.elementBoundByIndex(table.cells.count-1)    table.scrolltoElement(lastCell)}

Swift 3:

extension XCUIElement {    func scrolltoElement(element: XCUIElement) {        while !element.visible() {            swipeUp()        }    }    func visible() -> Bool {        guard self.exists && !self.frame.isEmpty else { return false }        return XCUIApplication().windows.element(boundBy: 0).frame.contains(self.frame)    }}
总结

以上是内存溢出为你收集整理的滚动直到元素可见iOS UI Automation with xcode7全部内容,希望文章能够帮你解决滚动直到元素可见iOS UI Automation with xcode7所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113037.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存