我试图在客观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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)