使用XCode在iPhone应用程序视图中获取所有元素

时间:2019-04-10 10:10:09

标签: ios iphone xcode

我正在尝试在模拟器上的iphone应用程序自动化期间拍摄每个屏幕的屏幕截图。除了截图外,我还想在使用xcode截图之前提取该特定视图中的所有字符串。有没有办法做到这一点?目的是将这些屏幕快照和字符串发送给另一个工具进行验证。

2 个答案:

答案 0 :(得分:0)

这可以使用facebook提供的Web Driver Agent(WDA)来完成。它确实提供了您的应用程序所需的所有功能。

这里是指向GitHub存储库的链接:

https://github.com/facebook/WebDriverAgent

请看一下。它可以帮助您实现目标。

答案 1 :(得分:0)

如果您使用XCUITest框架进行自动化,则可以使用XCUIScreen.main.screenshot()来获取当前状态的屏幕截图。

要获取当前屏幕上的所有文本,您可以使用XCUIApplication().descendants(matching: .textField).buttons.any或您希望在屏幕上显示的任何文本,然后从元素中提取文本

let descendants = XCUIApplication().descendants(matching: .textField)
foreach descendant in descendants { descendant.label /*do something*/ }

您需要在视图元素上设置一个可访问性标识符,以使其正常工作。