我正在尝试在模拟器上的iphone应用程序自动化期间拍摄每个屏幕的屏幕截图。除了截图外,我还想在使用xcode截图之前提取该特定视图中的所有字符串。有没有办法做到这一点?目的是将这些屏幕快照和字符串发送给另一个工具进行验证。
答案 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*/ }
您需要在视图元素上设置一个可访问性标识符,以使其正常工作。