如果我正在尝试编写不依赖于标签或其他特定于值的元素的通用测试,我如何获取该信息?就像我要点击桌面单元并稍后需要一些信息。喜欢识别哪个单元被点击。我如何使用XCUIElement从中获取标签?从XCUIElement中提取信息
2
A
回答
1
您可以从XCUIElement
中提取的信息仅限于XCUIElementAttributes
protocol中的信息。其中最值得注意的是identifier
,value
和title
。
您可以在生产代码中通过-accessibilityIdentifier
设置identifier
。 value
属性可以从几个不同的路径设置,但它通常是控件的活动状态。例如,选取器的选定元素。
您可以尝试使用辅助功能检查器查看元素上已设置的内容,然后使用查询来查找该元素。
0
乔一直在正确的答案,但他忽略了如何实际得到他指定的属性的值。
让我们假设我想那会打印我的应用程序的导航栏的字符串
我所做的就是我创建了一个XCUIElement我的导航栏:
XCUIApplication *app = [[XCUIApplication alloc] init];
XCUIElement *navBarTitle = [app.navigationBars elementBoundByIndex:0];
然后我在创建navBarTitle对象后放置一个断点,并使用调试控制台打印出navBarTitle对象的详细信息:
您在打印看出来调试控制台中的有一个名为标识一个关键。
为了提取从该对象该字符串,我使用以下方法创建一个NSString对象:
NSString *nameofuser = [navBarTitle valueForKey:@"identifier"];
我用XCUIElement navBarTitle,然后用于该方法valueForKey。 valueForKey提取密钥标识符的字符串值。
您可以了解这种方法在这里读了起来: NSKeyValueCoding
valueForKey的关键是解开这个问题的答案....双关语意:)
0
您可以提取一些国家,例如, accessibilityIdentifier,isHitable,value或其他,但不幸的是,你不能设置/更改任何这些。所以显然你无法检测到XCUIElement是否已被窃听。这在UI测试中是一个很大的限制。
相关问题
- 1. 从mongoDB中提取信息
- 2. 从xml中提取信息
- 3. 从dictionary.description中提取信息?
- 4. 从XML中提取信息
- 5. 从api中提取信息
- 6. 从array_count_values中提取信息
- 7. 从DTD中提取信息
- 8. 从$中提取信息?
- 9. 从xml中提取信息
- 10. 从html提取信息greasemonkey
- 11. pyPdf从IndirectObject提取信息
- 12. 从网站提取信息
- 13. 从R中的Shapiro.test()中提取信息
- 14. 提取信息
- 15. 提取信息
- 16. 提取信息
- 17. 提取信息
- 18. 提取信息
- 19. 从SSIS XML文件中提取信息?
- 20. 从HTML文件中提取信息
- 21. 从文本中提取特定信息
- 22. 从R列表中提取信息
- 23. 从MapView中提取交通信息
- 24. ColdFusion:从.msg文件中提取信息
- 25. 从Global.ascx文件中提取信息
- 26. 从3-D图中提取信息
- 27. 从证书中提取信息
- 28. 从URL中提取HTML信息
- 29. 使用Python从shapefile中提取信息
- 30. 从Jira中提取svn信息
由于某种原因,我永远无法获得实际的价值。我一直在尝试这样的事情: app.tables.elementBoundByIndex(0).cells.elementBoundByIndex(3).staticTexts。elementBoundByIndex(1) 永远不会得到实际的价值。我一直得到: 可选() 并将其解包为一个字符串给我一个空字符串 – ajc6432
原来我最终没有为UI层次结构正确链接XCUIElementQueries。顺便说一句,你的网站真的很有帮助。感谢您运行它。在此之前,我一直坚持这一点。 – ajc6432