簡體   English   中英

無法從Jenkins連接到Android設備

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM