我正在看WWDC 2015会议104"Xcode中的新功能",并且在Xcode 7中我可以记录接口单元测试以自动点击按钮,输入文本等.
我有一个包含UITests的新项目,但我如何开始记录UITests的界面交互?
以下是测试中包含的片段:
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
// In UI tests it is usually best to stop immediately when a failure occurs.
self.continueAfterFailure = NO;
// UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
[[[XCUIApplication alloc] init] launch];
}
Run Code Online (Sandbox Code Playgroud) 随着UITests和UITableView我需要重新排列单元格。是否可以?我试过,myTable.swipeDown()但它在单元格的那个地方被调用,它不响应重新排序。我怎样才能做到这一点?有可能吗?
所以我以编程方式在我的视图中添加了一个子视图,当我这样做时,我将所有可访问性参数附加到它:
[labelView setAccessibilityLabel:@"label"];
[labelView setIsAccessibilityElement:YES];
[labelView setUserInteractionEnabled:YES];
Run Code Online (Sandbox Code Playgroud)
但是当我像这样查询UI时:
let app = XCUIApplication()
app.staticTexts["label"]
Run Code Online (Sandbox Code Playgroud)
测试失败,因为它无法找到视图.
知道如何处理这个问题,如何为UI测试提供动态添加的视图?
我正在尝试在使用 Xcode 和 UI 测试时点击 x、y 位置。这是我的代码:
XCUIApplication().coordinateWithNormalizedOffset(CGVector(dx: 50, dy: 50)).tap()
Run Code Online (Sandbox Code Playgroud)
按钮的中间肯定在那个位置,不能被识别为一个单独的对象(因此使用 x, y 坐标)。
然而,这不是按下按钮。任何人都知道是否有正确的方法来敲击 xy 坐标?
我正在 XCUITest 上编写测试,并检查已删除的项目是否不再存在...我找不到任何可用于 XCTAssert 元素不存在的内容。
有谁知道是否有一个 BOOL 值可以用来检测元素是否不可见?
或者是否有任何解决方法?
提前致谢,
Xcode 版本 8.2 (8C38)
有没有办法检测 UITests 是否在真实设备上运行?
谢谢
我最近遇到了这样一种情况:我需要能够从现有的XCUITest桶中检查UISwitch的当前开/关状态(不是它是否启用了用户交互),而不是XCTest,并将其切换为预先确定的状态.我已将应用程序状态恢复添加到旧的现有应用程序中,这现在干扰了预期UISwitch处于特定默认状态的运行之间的许多现有测试用例.
与XCTest不同,在XCUITest中,您无法直接访问UISwitch状态.
如何在Objective-C中确定XCUITest的状态?
我正在为我的视图控制器编写UI测试用例.它有三个视图
1.标题视图 - > Stackview - > 4个按钮
2.table视图
3.footer view - > 5个按钮
除stackview及其子按钮外,所有视图均可访问
任何人都可以指导我如何获得stackview及其子元素的引用?
在Xcode的测试套件中执行每个测试用例后,我需要测试状态.我知道观察者可以帮助实现它.但是我如何在测试中使用它?
我正在尝试验证UI测试中某个表视图是否已填充有一定数量的单元格。这是我的代码:
XCUIApplication().tables.element.swipeUp()
let count = XCUIApplication().tables.element.children(matching: .cell).count
XCTAssert(count > 0)
Run Code Online (Sandbox Code Playgroud)
断言失败是因为count,即使向上滑动滚动了显然已成功填充的表格视图,该始终为0。我也尝试过:
XCTAssert(app.tables.cells.count > 0)
Run Code Online (Sandbox Code Playgroud)
具有相同的结果。我什至在一个屏幕上创建了一个带有3个静态单元格的表格视图的空项目,以消除UI测试的任何其他可能的干扰,它仍然始终返回0。我正在使用Xcode 9在iOS 11上进行测试。
xcode-ui-testing ×10
ios ×6
xcode ×6
swift ×3
xctest ×3
ui-testing ×2
xcode7 ×2
coordinates ×1
ios9 ×1
objective-c ×1
tap ×1
tdd ×1
uiswitch ×1
uitableview ×1
xcode8 ×1
xctestcase ×1