整合jenkins自動安裝apk檔案

2022-07-14 10:21:13 字數 3124 閱讀 3637

defget_latest_package(self, path, filename):

"""

"""apk_path =os.path.join(sys.path[0], filename)

ifos.path.exists(apk_path):

os.remove(filename)

url = '

'response =urllib.urlopen(url)

the_page =response.read()

soup = beautifulsoup(the_page, '

html.parser')

all_a = soup.find_all('a'

) apk_filename = ''

build_id = "

"for a in

all_a:

if a.text.strip().startswith('#'

): build_id = a.text.strip().replace("

#",""

)

if a.text.strip().endswith('

release.apk'):

apk_filename =a.text.strip()

break

full_filename =os.path.join(path, filename)

build_id = build_id + "

;包名:

" +apk_filename

full_url = '

%s/%s

' %(url, apk_filename)

urllib.urlretrieve(full_url, full_filename)

return

full_filename, build_id

defget_keyboard_present_status(self, device_name):

"""通過adb命令獲取鍵盤狀態

"""system_name =platform.system()

if system_name.lower() == '

windows':

cmdline = '

adb -s %s shell dumpsys input_method | findstr minputshown

' %device_name

else

: cmdline = '

adb -s %s shell dumpsys input_method | grep minputshown

' %device_name

my_print =os.popen(cmdline).read()

if my_print.find('

minputshown=true

') != -1:

return

true

return

false

def adb_input_text(self, device_name, set_value, get_value=""

):

"""通過adb命令對輸入框輸入值

"""if get_value != ""

: txt_len =len(get_value)

cmdline = '

adb -s %s shell input keyevent 123

' %device_name

for i in

range(txt_len):

cmdline += '

& adb -s %s shell input keyevent 67

' %device_name

cmdline += '

& adb -s %s shell input text %s

' %(device_name, set_value)

else

: cmdline = '

adb -s %s shell input text %s

' %(device_name, set_value)

print

cmdline

os.system(cmdline)

defget_devicename(self):

"""通過adb命令獲取裝置名

"""#

os.system("adb devices")

devicename = ""

my_print = os.popen("

adb devices

").read()

print_lists = my_print.split("\n"

)

if len(print_lists) > 3:

devicename = print_lists[1].split("\t"

)[0]

print

devicename

return devicename

def

android_adb_install(self, devicename, apk_path):

""" :param devicename:

:return:

""" cmd_str = os.popen("

adb -s %s uninstall com.gf

" %(devicename,)).read()

print

cmd_str

cmd_str = os.popen("

adb -s %s install %s

" %(devicename, apk_path)).read()

print

cmd_str

return ('

successful install

')

通過上述操作,可以將jenkins上的apk安裝包直接安裝到測試機,

jenkins整合gitlab自動構建打包

1.安裝generic webhook trigger plugin 2.在流水線中配置jenkins hook gitlab提交哪個分支就對相應的分支 進行打包編譯 1.修改jenkins對應的構建描述資訊 2.修改gitlab對應的commit狀態 jenkins安裝http request外掛...

自動化持續整合Jenkins

自動化持續整合jenkins 使用jenkins配置自動化構建 jenkins入門總結 jenkins sonar 的系統,用來執行自動構建 自動部署 自動測試,質量評估的整套平台,用來做敏捷。持續整合是個簡單重複勞動,人來操作費時費力,使用自動化構建工具完成是最好不過的了。後期應該搞單元測試,自動...

Jenkins 自動化安裝外掛程式

本文首發自 jenkins 中文社群 通常,我們有兩種方法安裝 jenkins 外掛程式。第一種方法是到 jenkins 外掛程式管理頁面搜尋外掛程式,然後安裝。第二種方法是上傳 jenkins 外掛程式的 hpi 檔案安裝。這兩種方法能滿足大多數人的需求。第一種方法,如下圖所示 第二種方法,如下圖...