1. 程式人生 > 其它 >openpyxl安裝_自拍教程76Python 一鍵批量安裝第三方包

openpyxl安裝_自拍教程76Python 一鍵批量安裝第三方包

技術標籤:openpyxl安裝robotframework安裝批量ping指令碼bat

案例故事:在測試環境搭建環節,尤其是需要在新的電腦上搭建Python測試環境時,
可以考慮把日常自動化測試所需要用到的第三方Python包(非自帶內建包), 一次性批量安裝上。

準備階段

1.確保python及pip已經新增到了Path環境變數2.可以利用os.system("具體命令")函式來實現批量安裝3.自動化測試人員,常用的第三方包如下表:|第三方包名|應用場景| |:--- |:--- | |requests|介面測試,檔案下載,http訪問| |httprunner|自動化測試框架,更適合介面| |selenium|Web UI自動化| |openpyxl|Excel讀寫操作| |robotframework|自動化框架,更適合移動終端或web UI自動化| |appium-python-client|App UI自動化| |uiautomator2|Android App UI 自動化| |locust|Web 效能測試工具| |flask|Web框架,搭建測試環境用| |django|Web框架,搭建測試環境用| |pillow|圖片處理| |pandas|資料分析| |keyboard|鍵盤事件| |python-jenkins|Jenkins構建任務自動化| |pyinstaller|Py指令碼編譯成二進位制可執行檔案| |python_docx|Word讀寫操作| |plotly|製圖工具| |pyserial|串列埠裝置通訊| |pymysql|資料庫處理| |MySQLdb|資料庫處理| |mongodb|資料庫處理| |redis|資料庫處理|

Bat vs Python批處理指令碼形式

Dos Bat批處理指令碼(.bat檔案)是最簡單Windows自帶的批量處理指令碼語言,
記住批處理指令碼的精髓:批量順序執行語句,Python一樣可以實現, 以下是DOS bat批處理指令碼:

pip install requests

pip install httprunnerpip install seleniumpip install openpyxlpip install robotframeworkpip install appium-python-clientpip install uiautomator2pip install locust
pip install flaskpip install djangopip install pillowpip install pandaspip install keyboardpip install python-jenkinspip install pyinstallerpip install python_docxpip install plotlypip install pyserialpip install pymysqlpip install MySQLdbpip install mongodbpip install redispause

以下是對應的Python批處理指令碼形式:

import osos.system("pip install requests")os.system("pip install httprunner")os.system("pip install selenium")os.system("pip install openpyxl")os.system("pip install robotframework")os.system("pip install appium-python-client")os.system("pip install uiautomator2")os.system("pip install locust")os.system("pip install flask")os.system("pip install django")os.system("pip install pillow")os.system("pip install pandas")os.system("pip install keyboard")os.system("pip install python-jenkins")os.system("pip install pyinstaller")os.system("pip install python_docx")os.system("pip install plotly")os.system("pip install pyserial")os.system("pip install pymysql")os.system("pip install MySQLdb")os.system("pip install mongodb")os.system("pip install redis")os.system("pause") # 暫停並檢視執行結果避免直接關閉

乍一看,是Dos bat批處理指令碼更為簡單直接,但是bat語法太過簡單,只能處理簡單的資料,
在稍大點的程式處理過程中,bat顯得很吃力且不科學,還是Python更為合理!

Python面向過程函式形式

其實本案例Python批處理指令碼形式實現即可,以下只是用於程式設計思維訓練,
找到可以封裝成一個函式塊的小程式碼塊兒, 用函式封裝起來,
函式的命名一般建議用"動詞", 所以我們命名為: "install_3rd_package",
封裝好後, install_3rd_package()函式呼叫即可,
備註:3rd就是第三方的意思,third party的簡寫。

# coding=utf-8import osdef install_3rd_package():  # 定義功能函式    os.system("pip install requests")    os.system("pip install httprunner")    os.system("pip install selenium")    os.system("pip install openpyxl")    os.system("pip install robotframework")    os.system("pip install appium-python-client")    os.system("pip install uiautomator2")    os.system("pip install locust")    os.system("pip install flask")    os.system("pip install django")    os.system("pip install pillow")    os.system("pip install pandas")    os.system("pip install keyboard")    os.system("pip install python-jenkins")    os.system("pip install pyinstaller")    os.system("pip install python_docx")    os.system("pip install plotly")    os.system("pip install pyserial")    os.system("pip install pymysql")    os.system("pip install MySQLdb")    os.system("pip install mongodb")    os.system("pip install redis")install_3rd_package()  # 呼叫功能函式os.system("pause")  # 暫停並檢視執行結果避免直接關閉

Python面向物件類形式

其實本案例Python批處理指令碼形式實現即可,以下只是用於程式設計思維訓練,

1.以"一切皆可歸類"的思想, 先抽象化出一個類來, 類名一般建議用"名詞", 所以我們命名為"PackageInstaller", 代表包安裝器, 且一般要駝峰式(首字母大寫)來規範類的命名.2.養成良好的類的初始化(init)的習慣, 初始化過程中, 可以pass(什麼都不做)3.這個PackageInstaller類, 目前需要一個截圖的函式(動作功能)就足夠了, 函式的命名一般建議用"動詞", 所以我們命名為: "install_package"這個各單元函式,
再定義一個批量函式"install_3rd_package",4.類是一個抽象的事物, 必須例項化成具體的物件後, 才能進行呼叫, 所以我們例項化並命名成了m_obj, 表明是一個物件。5.例項化成具體物件後, 物件就可以呼叫install_3rd_package這個函數了。

# coding=utf-8import osclass PackageInstaller(object):    def __init__(self):        pass    def install_package(self, package_name):        os.system("pip install %s" % package_name)    def install_3rd_package(self):        self.install_package("requests")        self.install_package("httprunner")        self.install_package("selenium")        self.install_package("openpyxl")        self.install_package("robotframework")        self.install_package("appium-python-client")        self.install_package("uiautomator2")        self.install_package("flask")        self.install_package("django")        self.install_package("locust")        self.install_package("pillow")        self.install_package("pandas")        self.install_package("keyboard")        self.install_package("python-jenkins")        self.install_package("pyinstaller")        self.install_package("python_docx")        self.install_package("plotly")        self.install_package("pyserial")        self.install_package("pymysql")        self.install_package("MySQLdb")        self.install_package("mongodb")        self.install_package("redis")if __name__ == '__main__':    m_obj = PackageInstaller() # 例項化一個物件    m_obj.install_3rd_package() # 該物件呼叫install_3rd_package函式    os.system("pause") # 暫停並檢視執行結果避免直接關閉

執行方式與效果

以上程式碼的3種實現形式都可以直接執行,比如儲存為install_3rd_package.py並放在桌面,
建議python install_3rd_package.py執行,當然也可以雙擊執行。

小提示:日常工作中,我們會碰到很多很多的比如開發人員,專案經理及其他測試同仁等給到.bat的批處理指令碼,不妨把他們轉成Python指令碼,有利於將Python運用並解決實際測試工作中遇到的問題,Python指令碼也更有利於維護、擴充套件、及移植(到Linux系統環境)。

更多更好的原創文章,請訪問官方網站:www.zipython.com[1]自拍教程(自動化測試Python教程,武散人編著)
原文連結:https://www.zipython.com/#/detail?id=e5517f7c823c4092bb4ce668bb51c98a 也可關注“武散人”微信訂閱號,隨時接受文章推送。ec8c948ba35a5b7551a8a9719717d94c.png