首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取XCUIElement的值?

如何获取XCUIElement的值?
EN

Stack Overflow用户
提问于 2015-08-06 03:58:52
回答 3查看 15.5K关注 0票数 10

如何在XCODE7 UITesting中获取textfield的值?

代码语言:javascript
复制
var b = XCUIApplication().childrenMatchingType(.textField).elementBoundByIndex(0).stringValue
EN

回答 3

Stack Overflow用户

发布于 2015-08-28 10:27:03

假设您有一个文本字段,如下所示:

(为了这个例子,我在这里硬编码了它的值("My Text")。)

给它一个 Accessibility Label**.在本例中,我将其命名为"Text Field“标签。**

现在,要访问它的值,您可以执行以下操作:

代码语言:javascript
复制
func testExample() {

    let app = XCUIApplication()        
    let textField = app.textFields["Text Field"]
    XCTAssertTrue(textField.value as! String == "My Text")

    // So basically "textField.value"
}

顺便说一句:当对如何访问给定XCUIElement的某些属性有疑问时,我发现它的debugDescription很有帮助。

例如,在属性声明后设置断点,执行测试,等待应用程序在断点处停止,转到lldb console,键入po propertyName.debugDescription,然后检查输出:

我希望这能有所帮助。

票数 16
EN

Stack Overflow用户

发布于 2016-11-18 08:48:08

假设我想要获取为应用程序的导航栏打印的字符串

我所做的是为我的导航栏创建了一个XCUIElement:

代码语言:javascript
复制
XCUIApplication *app = [[XCUIApplication alloc] init];
XCUIElement *navBarTitle = [app.navigationBars elementBoundByIndex:0];

为了从该对象中提取该字符串,我使用以下方法创建了一个NSString对象:

代码语言:javascript
复制
NSString *nameofuser = [navBarTitle valueForKey:@"identifier"];

我使用了XCUIElement navBarTitle,然后使用了valueForKey方法。valueForKey提取密钥标识符的字符串值。

您可以在此处阅读有关此方法的信息:NSKeyValueCoding

valueForKey是解锁此question....pun的答案的关键:)

票数 3
EN

Stack Overflow用户

发布于 2020-05-06 07:55:42

app.staticTexts.element(boundBy: 1).label

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31841753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档