[英]Unable to connect to Android device from Jenkins
因此,我曾經在Jenkins內調用MonkeyRunner腳本以連接到USB Android設備並運行一些自動化測試,但是MonkeyRunner本身非常不穩定,因此我切換到了出色的AndroidViewClient並移植了測試腳本以使用此純Python API。
從外殼獨立調用時,新的Python腳本運行良好,但是目標是從Jenkins調用此腳本作為后期構建步驟。
我的問題是與USB Android設備的初始連接。 下面的腳本是實際測試腳本的片段-這是測試USB設備是否存在並在連接到Android設備之前獲取其序列號的部分。 從ubuntu shell可以正常工作,但是從Jenkins“ Execute Shell”調用時無法連接。
#! /usr/bin/env python
# Import Class Files
import re
import sys
import os
import time
import commands
import signal
import subprocess
import codecs
ubuntuHome = os.getenv('HOME')
sdkRootDefault = ubuntuHome + '/dev_env/ADT/sdk'
sdkRoot = os.getenv('ANDROID_SDK_ROOT',sdkRootDefault)
platformTools = sdkRoot + '/platform-tools'
# Find the attached devices
adbcmd = platformTools + "/./adb devices |grep -v attached |grep device |head -n 1 | cut -f1"
p = subprocess.Popen(adbcmd, shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
serialnoIn = (p.stdout.readline()).strip()
# No devices found then exit
if len(serialnoIn) == 0 or serialnoIn is None:
print ("ERROR: No devices found")
sys.exit(1)
print "INFO: Trying Connection to " + serialnoIn + "..."
在Ubuntu Shell中,輸出為:
INFO:嘗試連接到3a005473 ...
從詹金斯的“執行外殼”構建步驟
錯誤:找不到設備
有趣的是,當從原始MonkeyRunner腳本中調用相同的代碼片段時,它工作正常。 所以我在想MonkeyRunner是否做了一些我的Python腳本沒有做的初始設置? 我還沒有足夠的Python專家知道如何配置USB設備。 任何幫助表示贊賞。
好的答案確實很簡單-如果jenkins可以使用sdk工具和AndroidViewClient路徑,那么它會有所幫助!
須藤-Rm u:jenkins:rwx
...修復
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.