Android 기기에 연결하여 APK를 배포하는 monkeyrunner 스크립트가 있습니다.TeamCity를 사용하여 전화를 걸었을 때 MonkeyRunner가 실패하는 이유
serial = '12345JKL'
device = MonkeyRunner.waitForConnection(deviceId=serial)
device.installPackage(path_to_apk)
이것은 Windows 명령 셸을 사용하여 스크립트를 실행할 때 완벽하게 작동합니다.
"C:\dev\android\tools\monkeyrunner.bat" "C:\dev\my_script.py" -psome_parameter
문제는 내가 my_script.py 인 TeamCity에 의해 실행 (기업 6.0.3)가 동일한 PC에 구성을 구축 할 것입니다 :이 오류가 발생합니다. 여기에 스택 추적을 찾으십시오. http://pastebin.com/CjWy95c3
처음에는 TC가 스크립트의 매개 변수를 망가 뜨리고 있다고 생각했습니다. C:\some_dir
내 현재 디렉토리 동안 그러나 TC 빌드에서 명령은
[00:55:12]: Starting: "C:\dev\android\tools\monkeyrunner.bat" "C:\dev\my_script.py" -psome_parameter
in directory: C:\some_dir
명령 쉘에서와 동일한 것이었다 따라 스크립트가 장치에 연결할 수 있고 내가 명령 쉘에 명령을 복사 할 때 잘 작동 로그인 .
TC 외부에서이 오류를 재연하지 못했습니다.
이 모든 것이 동일한 PC (Win 7 x64)에서 발생한다는 점을 강조하고 싶습니다. 이 스크립트는 명령 셸에서 실행되면 작동하지만 TC 빌드 구성에 의해 트리거 될 때 실패합니다 (항상 장치에 연결하려고 할 때 실패 함).
누군가가 올바른 방향으로 나를 가리킬 수 있다면 나는 이것이 일어나는 이유를 생각할 수 없으며 매우 행복 할 것입니다. 사전에
많은 감사
편집 : 그것은 MonkeyRunner.waitForConnection()
에 한정되지 않고, 문제를 밝혀뿐만 아니라 MonkeyRunner.sleep(5)
를 호출 할 때 발생한다. Stacktrace
MonkeyRunner와 TeamCity가 서로 잘 어울리지 않을 수 있습니까?
고마워요. 충고에 대해 인간. 그러나이 문제는 TC 요원과 있었던 것으로 보인다. –