初次嘗試使用jenkins+python+appium構建自動化測試html
由於剛剛嘗試使用jenkins+python+appium嘗試,只是一個Demo須要不少完善,先記錄一下今天的成果,再接再礪java
1) Jenkins下載地址:http://mirrors.jenkins-ci.orgpython
2) 啓動jenkins:java –jar Jenkins.warandroid
3) 使用chrome瀏覽器打開127.0.0.1:8080/web
備註:我本地未安裝tomcatchrome
1) 這條用例在上一條的基礎之上我加入了HTMLtestrunner測試報告windows
2) 我使用的是網上修改後的HTMLtestrunner適用於python3的,將htmltestrunner.py放到D:\python\Lib目錄下瀏覽器
3) 腳本代碼以下:tomcat
1 import unittest 2 import os 3 from selenium import webdriver 4 import HTMLTestRunner 5 6 class apptest(unittest.TestCase): 7 def setUp(self): 8 PATH = lambda p: os.path.abspath( 9 os.path.join(os.path.dirname(__file__), p) 10 ) 11 desired_caps = {} 12 desired_caps['deviceName'] = 'VBJ4C18607003439' # adb devices查到的設備名 13 desired_caps['platformName'] = 'Android' 14 desired_caps['platformVersion'] = '8.1.0' # android 系統版本 15 desired_caps['appPackage'] = 'com.aerozhonghuan.serialporttool' # 被測App的包名 16 desired_caps['appActivity'] = 'com.aerozhonghuan.serialporttool.MainActivity' # 啓動時的Activity 17 self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) 18 def testApp(self): 19 driver = self.driver 20 el = driver.find_element_by_id("com.aerozhonghuan.serialporttool:id/btn_heartbeat") 21 el.click() 22 print('第一個appium腳本運行成功了') 23 filename = r'E:\aaaaaa\report.html' #E:\aaaaaa\report.html 這個目錄下生成測試報告 24 fp = open(filename, 'wb+') 25 runner = HTMLTestRunner.HTMLTestRunner( 26 stream=fp, 27 title=u'APP自動化測試' 28 ) 29 runner.run(self.suite()) 30 fp.close() 31 def suite(self): 32 suite = unittest.TestSuite() 33 suite.addTest(apptest("testApp")) 34 return suite 35 36 def tearDown(self): 37 driver = self.driver 38 driver.quit() 39 if __name__ == '__main__': 40 unittest.main()
4) 報告以下:app
1) 登陸jenkins帳號->新建任務->構建一個自由風格的軟件項目->在構建步驟中選擇執行windows批處理命令
2) 數據python的執行命令如: D:\python.exeD:\pycharm\test\appUnnitest.py
3) 保存後->點擊構建->查看構建歷史->控制檯輸出,即執行完成
4) Jenkins控制檯如圖: