从 Jenkins 启动 .bat 不起作用
Launch a .bat from Jenkins does not work
这是 .bat 文件:
start cmd.exe /k "C:\Users\etudes.ext46\AppData\Local\Android\sdk1\tools\emulator.exe -avd ff &"
ping 127.0.0.1 -n 60 > nul
start cmd.exe /k "adb shell input keyevent 82"
start cmd.exe /k "node "C:\Program Files\Appium\node_modules\appium\bin\appium.js" -a 127.0.0.1 -p 4723 &"
ping 127.0.0.1 -n 30 > nul
C:\Users\etudes.ext46\Downloads\NUnit-2.6.4\NUnit-2.6.4\bin\nunit-console.exe C:\Users\etudes.ext46\Downloads\NUnit-2.6.4\NUnit-2.6.4\bin\apk\UnitTestProject1.dll
start cmd.exe /k "taskkill /F /IM emulator-x86.exe"
start cmd.exe /k "taskkill /F /IM node.exe"
start cmd.exe /k "taskkill /F /IM cmd.exe"
当我 运行 手动时,它运行良好(模拟 android 设备并使用 Appium 和 Nunit 测试)。
但是当我尝试从 Jenkins 启动 exact 相同的 .bat 时它不起作用
Errors and Failures:
1) TearDown Error : AppiumSample.ASSI2.AssistanceV2
SetUp : System.InvalidOperationException : A new session could not be created. (Original error: Could not find a connected Android device.) (33)
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
完整的日志在这里:http://img.prntscr.com/img?url=http://i.imgur.com/KsrEJiT.png
如何让这个 .bat 与 Jenkins 一起工作?
解决方案是在启动模拟器时添加选项 -no-window
start cmd.exe /k "C:\path\emulator.exe -avd ff -no-window &"
而不是
start cmd.exe /k "C:\path\emulator.exe -avd ff &"
这是 .bat 文件:
start cmd.exe /k "C:\Users\etudes.ext46\AppData\Local\Android\sdk1\tools\emulator.exe -avd ff &"
ping 127.0.0.1 -n 60 > nul
start cmd.exe /k "adb shell input keyevent 82"
start cmd.exe /k "node "C:\Program Files\Appium\node_modules\appium\bin\appium.js" -a 127.0.0.1 -p 4723 &"
ping 127.0.0.1 -n 30 > nul
C:\Users\etudes.ext46\Downloads\NUnit-2.6.4\NUnit-2.6.4\bin\nunit-console.exe C:\Users\etudes.ext46\Downloads\NUnit-2.6.4\NUnit-2.6.4\bin\apk\UnitTestProject1.dll
start cmd.exe /k "taskkill /F /IM emulator-x86.exe"
start cmd.exe /k "taskkill /F /IM node.exe"
start cmd.exe /k "taskkill /F /IM cmd.exe"
当我 运行 手动时,它运行良好(模拟 android 设备并使用 Appium 和 Nunit 测试)。
但是当我尝试从 Jenkins 启动 exact 相同的 .bat 时它不起作用
Errors and Failures:
1) TearDown Error : AppiumSample.ASSI2.AssistanceV2
SetUp : System.InvalidOperationException : A new session could not be created. (Original error: Could not find a connected Android device.) (33)
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
完整的日志在这里:http://img.prntscr.com/img?url=http://i.imgur.com/KsrEJiT.png
如何让这个 .bat 与 Jenkins 一起工作?
解决方案是在启动模拟器时添加选项 -no-window
start cmd.exe /k "C:\path\emulator.exe -avd ff -no-window &"
而不是
start cmd.exe /k "C:\path\emulator.exe -avd ff &"