如何在 Xcode 7 中的 UITest 期间获取文本字段的值?
How to get value of a textfield during UITest in Xcode 7?
我正在尝试在 Mac 上测试一个简单的摄氏华氏温度转换器。我正在 运行ning macOS Sierra 和 Xcode 7.2.1.
当我运行下面测试
- (void)testExample2 {
XCUIApplication *app = [[XCUIApplication alloc] init];
XCUIElement *cfWindow = app.windows[@"Celsius Fahrenheit Converter"];
XCUIElement *textField1 = [[cfWindow childrenMatchingType:XCUIElementTypeTextField]elementBoundByIndex:0];
XCUIElement *textField2 = app.textFields[@"fahrField"];
[textField1 typeText:@"21\r"];
NSString *str = (NSString *) textField2.value;
XCTAssertEqual(str, @"69.8");
}
我基本上是在摄氏度字段中输入值 21,并希望在华氏度字段中得到值 69.8。但是我收到错误消息
测试失败:-[CFConverterUITests testExample2] 失败:((str) 等于 (@"69.8")) 失败:("<4536392e 38000000>") 不等于 ("< 30c15800 01000000>")
有谁知道出了什么问题以及该怎么办?
XCTAssertEqual 不适用于对象。你的断言应该是 XCTAssert([str isEqualToString:@"69.8"]);
我正在尝试在 Mac 上测试一个简单的摄氏华氏温度转换器。我正在 运行ning macOS Sierra 和 Xcode 7.2.1.
当我运行下面测试
- (void)testExample2 {
XCUIApplication *app = [[XCUIApplication alloc] init];
XCUIElement *cfWindow = app.windows[@"Celsius Fahrenheit Converter"];
XCUIElement *textField1 = [[cfWindow childrenMatchingType:XCUIElementTypeTextField]elementBoundByIndex:0];
XCUIElement *textField2 = app.textFields[@"fahrField"];
[textField1 typeText:@"21\r"];
NSString *str = (NSString *) textField2.value;
XCTAssertEqual(str, @"69.8");
}
我基本上是在摄氏度字段中输入值 21,并希望在华氏度字段中得到值 69.8。但是我收到错误消息
测试失败:-[CFConverterUITests testExample2] 失败:((str) 等于 (@"69.8")) 失败:("<4536392e 38000000>") 不等于 ("< 30c15800 01000000>")
有谁知道出了什么问题以及该怎么办?
XCTAssertEqual 不适用于对象。你的断言应该是 XCTAssert([str isEqualToString:@"69.8"]);