iOS - 带有重置应用程序的 UI 自动化多个脚本
<p><p>我正在寻找可以按顺序设置我的 javascripts 的解决方案,并且每个脚本何时启动它将独立于以前的脚本。所以我可以只运行一个脚本或一组脚本,它的工作原理是一样的。</p>
<p>我发现我可以创建一个脚本文件并使用 <code>#import</code> 关键字,如下所示:</p>
<pre><code>#import "AddStaticContentMissingName.js"
#import "AddStaticContent.js"
</code></pre>
<p>它正在工作,两个脚本都在运行,但是第二个脚本从第一个脚本结束的地方开始,这让我很困扰。我可以将第一个设置为在第二个需要时结束,但我不喜欢它。我只是一个脚本做应该测试然后结束。那么是否可以在每次测试之前重新启动应用程序或类似的东西?我想让 UI 测试尽可能自动化,那么你使用的是什么?或者您正在使用其他工具,然后是 UI 自动化?</p>
<p>额外问题:我正在寻找如何从命令行和/或使用 Xcode Server 运行它的解决方案。我猜 Xcode Server 是个问题,但对于命令行有一个解决方案。我发现的解决方案的问题是我不便携,对吗?我没有任何办法如何将一些脚本添加到我的存储库中,如果有人尝试使用它,路径就会出现问题。我找到的命令示例:</p>
<pre><code>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
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>如果要在脚本之间重置应用程序,则需要结合应用程序代码和 UIAutomation 代码自行完成。 (Apple 将用更好的工具替换 Instruments,但目前这是唯一的方法。)</p>
<p>例如,如果您的应用程序不使用任何“摇动”手势,您可以使用它来触发您的应用程序内的重新启动(不关闭它,只是将其返回到已知状态)。然后在每个 UIAutomation 脚本的顶部,您只需 <a href="https://developer.apple.com/library/ios/documentation/ToolsLanguages/Reference/UIATargetClassReference/#//apple_ref/javascript/instm/UIATarget/shake" rel="noreferrer noopener nofollow">call the method for the shake gesture</a> .</p>
<p>在 <a href="https://github.com/paypal/Illuminator" rel="noreferrer noopener nofollow">testing framework we wrote</a> ,我们建立了自己的<a href="https://github.com/paypal/Illuminator/blob/master/docs/Bridge.md" rel="noreferrer noopener nofollow">RPC channel</a>允许我们向自动化脚本公开非 UI 功能(如重置应用程序)。您使用什么系统来实现它并不重要,只要您能够可靠地将应用程序置于已知状态即可。</p></p>
<p style="font-size: 20px;">关于iOS - 带有重置应用程序的 UI 自动化多个脚本,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31140656/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31140656/
</a>
</p>
页:
[1]