无法运行iOS UI自动化的命令行

时间:2015-10-06 00:18:44

标签: ios xcode command-line ios-ui-automation

我使用了这个网站上的模板:http://blog.manbolo.com/2012/04/08/ios-automated-tests-with-uiautomation并创建了我自己的命令行来在终端上运行自动化测试。

以下是有关我的脚本的一些有用信息:

  1. 我正在使用xCode 6.4。

  2. 我在Xcode仪器中运行了这个自动化脚本,它工作正常。

  3. 这是我的命令行:

      

    instruments -w 927b666816e2d4377b208a872b42a1d3xxxxxxxx -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate ConsumeriOS -e UIASCRIPT / Users / wendywang / Documents / TIO / ConsumeriOS / ConsumeriOS / ConsumeriOSTests / automationScript / LogIn.js

    但我收到了这个错误:

      

    2015-10-05 14:16:34.122 instruments [23330:551118] WebKit Threading Violation - 从次要线程初始使用WebKit。仪器使用错误:无法解决仪器'自动化'乐器,版本6.4(57082)用法:乐器[-t模板] [-D文件] [-l timeLimit] [-i#] [-w device] [[-p pid] | [application [-e variable value] [argument ...]]] tio-spare:~wendywang $ ConsumeriOS -e UIASCRIPT /Users/wendywang/Documents/xxx/ConsumeriOS/ConsumeriOS/ConsumeriOSTests/automationScript/LogIn.js -bash: ConsumeriOS:找不到命令

    我仔细检查过

    1. UDID是正确的
    2. 自动化跟踪模板的路径正确
    3. LogIn.js文件的路径正确
    4. 有一点我不确定:

      ConsumeriOS是代码的名称。但在代码中,它实际上可以生成一些应用程序。我正在测试名为Consumer的应用程序。所以我不确定我是否应该将ConsumeriOS写为应用程序的名称,而不是消费者。

      有谁知道为什么会产生这个错误?谢谢!

2 个答案:

答案 0 :(得分:1)

乎乎,

试试这个:

给出

  1. 使用.app扩展名的应用的完整路径
  2. 将DeviceID和脚本放入"",
  3. 尝试使用设备名称,如果它没有 工作
  4. 这是一个适合我的样本。

    instruments -w "DeviceID" -t PATHTOTEMPLATE/Automation.tracetemplate PATHTOAPP/ConsumeriOS.app -e UIASCRIPT "PATHTOSCRIPT/UITest.js"
    

    让我知道!

答案 1 :(得分:0)

相关信息就是这个:

  

tio-spare:~wendywang $ ConsumeriOS -e UIASCRIPT /Users/wendywang/Documents/xxx/ConsumeriOS/ConsumeriOS/ConsumeriOSTests/automationScript/LogIn.js -bash:ConsumeriOS:command not found

您似乎可以复制粘贴此命令:

  

instruments -w 927b666816e2d4377b208a872b42a1d3xxxxxxxx -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate ConsumeriOS -e UIASCRIPT / Users / wendywang / Documents / TIO / ConsumeriOS / ConsumeriOS / ConsumeriOSTests / automationScript / LogIn.js

但错误地 - 在两个单独的部分中,第1部分:

  

instruments -w 927b666816e2d4377b208a872b42a1d3xxxxxxxx -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate

第2部分(用换行符分隔):

  

ConsumeriOS -e UIASCRIPT / Users / wendywang / Documents / TIO / ConsumeriOS / ConsumeriOS / ConsumeriOSTests / automationScript / LogIn.js

另外,您似乎写了应用的名称(ConsumeriOS),而不是应用的完整路径(/path/to/ConsumeriOS.app)。