gpt4 book ai didi

ios - XCTest UI 测试 : why does my attempt to swipe the last table cell upwards instead slide up the brightness and volume panel?

转载 作者:行者123 更新时间:2023-11-29 10:22:08 27 4
gpt4 key购买 nike

我正在尝试使用 XCode 7 的 UI 测试功能来运行可以遍历整个 TableView 层次结构的自动化测试。 (我正在使用迭代加深的深度优先搜索。)在每个屏幕中,我让 ui 测试器依次点击每个单元格。如果打开一个新 View ,该 View (本身就是一个表)将被彻底访问,最终系统将返回到前一个 View 并点击下一个单元格。以这种方式,层次结构中的每个单元格(以及每个 TableView )都应该被访问。

系统的一个烦恼是,如果你有,例如十个单元格,但只有七个适合屏幕,您似乎有责任让 UI 测试系统向上滚动单元格作为其探索的一部分,因为单元格 [7] 除非在屏幕上可见,否则将不可点击。 (如果有任何方法可以解决这个问题,这可能构成一个短路答案,可以避免回答我的主要问题。)

我的计划是,在按下每个单元格并访问任何新打开的屏幕后,我在该单元格上执行向上滑动操作,然后再移动到下一个单元格。这应该确保在我要求系统尝试点击它之前,直接后继者出现在屏幕上。

但是,当我尝试向上滑动位于屏幕底部的单元格时,该操作就像我从屏幕的最底部边缘向上滑动一样,拉动音量控制和亮度进入屏幕,并完全摆脱我的树行走:

Unwanted swipe results

我不太明白为什么会这样。如果我总是将枚举的 app.table.cells 列表之一指定为接收滑动操作的 XCUIElement,为什么系统最终会滑动屏幕底部?这是 XCTest ui 测试系统的一些怪癖/错误,还是我的错误?

XCUIElementQuery* cells = app.tables.cells;
if( cells && level < maxDepth )
{
if( [cells count] > 0 )
{
int iAlert = 0;
int i = 0;
for( i = 0, cells = app.tables.cells; i < [cells count]; ++i )
{
XCUIElement* element = NULL;
bool shouldSwipeUp = false;

if( cells )
{
NSInteger nCells = [cells count];
element = [cells elementBoundByIndex:i];
shouldSwipeUp = ( i < (nCells - 1) );
}

if( element && element.hittable )
{
[element tap];

[self recurseIfChangedScreen:app withCurrentNavBarName:currentNavBarName withLevel:level];

if( shouldSwipeUp )
{
[element swipeUp];
}
}
}

最佳答案

尝试使用

[app swipeUp]

代替

[element swipeUp]

关于ios - XCTest UI 测试 : why does my attempt to swipe the last table cell upwards instead slide up the brightness and volume panel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34488781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com