OGeek|极客世界-中国程序员成长平台

标题: iOS - 带有重置应用程序的 UI 自动化多个脚本 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:41
标题: iOS - 带有重置应用程序的 UI 自动化多个脚本

我正在寻找可以按顺序设置我的 javascripts 的解决方案,并且每个脚本何时启动它将独立于以前的脚本。所以我可以只运行一个脚本或一组脚本,它的工作原理是一样的。

我发现我可以创建一个脚本文件并使用 #import 关键字,如下所示:

#import "AddStaticContentMissingName.js"
#import "AddStaticContent.js"

它正在工作,两个脚本都在运行,但是第二个脚本从第一个脚本结束的地方开始,这让我很困扰。我可以将第一个设置为在第二个需要时结束,但我不喜欢它。我只是一个脚本做应该测试然后结束。那么是否可以在每次测试之前重新启动应用程序或类似的东西?我想让 UI 测试尽可能自动化,那么你使用的是什么?或者您正在使用其他工具,然后是 UI 自动化?

额外问题:我正在寻找如何从命令行和/或使用 Xcode Server 运行它的解决方案。我猜 Xcode Server 是个问题,但对于命令行有一个解决方案。我发现的解决方案的问题是我不便携,对吗?我没有任何办法如何将一些脚本添加到我的存储库中,如果有人尝试使用它,路径就会出现问题。我找到的命令示例:

instruments \
-w your_ios_udid \
-t "/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate" \
name_of_your_app \
-e UIASCRIPT absolute_path_to_the_test_file 



Best Answer-推荐答案


如果要在脚本之间重置应用程序,则需要结合应用程序代码和 UIAutomation 代码自行完成。 (Apple 将用更好的工具替换 Instruments,但目前这是唯一的方法。)

例如,如果您的应用程序不使用任何“摇动”手势,您可以使用它来触发您的应用程序内的重新启动(不关闭它,只是将其返回到已知状态)。然后在每个 UIAutomation 脚本的顶部,您只需 call the method for the shake gesture .

testing framework we wrote ,我们建立了自己的RPC channel允许我们向自动化脚本公开非 UI 功能(如重置应用程序)。您使用什么系统来实现它并不重要,只要您能够可靠地将应用程序置于已知状态即可。

关于iOS - 带有重置应用程序的 UI 自动化多个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31140656/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4