案例故事: 在测试环境搭建环节,尤其是需要在新的电脑上搭建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 locustpip 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 也可关注“武散人”微信订阅号,随时接受文章推送。

openpyxl安装_自拍教程76Python 一键批量安装第三方包相关推荐

  1. android apk安装工具,安卓装机必备工具!一键批量安装应用apk

    原标题:安卓装机必备工具!一键批量安装应用apk 安卓如何批量安装App的apk安装包?这是很多朋友都遇到的问题.安卓可以通过apk安装电子市场所没有的App,不过有时候下载一堆apk安装包回来,还需 ...

  2. android 批量安装apk,如何一键批量安装APP应用apk安装包?

    在安卓手机应用市场中,有的用户可能会遇到这样的问题,当我们下载了一堆安卓apk安装包,可是还需要我们一个个的点开去安装,这样非常麻烦,还浪费了用户不少时间.那有用户要问了,如何才能实现一键批量安装ap ...

  3. python一键安装框架_《自拍教程76》Python 一键批量安装第三方包

    案例故事: 在测试环境搭建环节,尤其是需要在新的电脑上搭建Python测试环境时, 可以考虑把日常自动化测试所需要用到的第三方Python包(非自带内置包), 一次性批量安装上. 准备阶段 确保pyt ...

  4. 根据测试路径自动生成测试用例_自拍教程75Python 根据测试用例选择测试资源

    案例故事:Android手机音视频图片解码播放测试,有将近上千条用例, 包含了不同的音视频图片文件,每条用例都至少对应了一个测试资源文件.整个测试资源仓库,将近100G,一些视频比如High Prof ...

  5. python34怎么安装_简明Python3教程 4.安装

    如果你已经安装了Python 2.x,你不需要在安装Python 3.0前卸载Python 2.x.这两者可以共存. GNU/Linux用户和BSD用户 如果你使用类似于Ubuntu.Fedora.O ...

  6. paddlepaddle测试安装_学习之路(1)PaddlePaddle的安装

    目录 环境 Windows系统的安装在Windows上安装Docker容器 在Windows上安装Ubuntu 使用pip安装 使用Docker安装 从源码编译生成安装包在本地编译生成安装包 在Doc ...

  7. 极路由2运行python安装_极路由4pro(HC5962)安装python

    基本配置 其实极路由4.极路由4 pro.极路由B70都是一个型号的(HC5962) CPU:Barrier Breaker 14.07版本) CPU是ramips架构的,常用于嵌入式设备如路由器.c ...

  8. setuptools安装_在Ubuntu 18.04系统上安装ERPNext ERP

    简介 ERPNext是一个功能丰富的企业级ERP系统,使用Frappe框架编写,一个Python和JavaScript的Web应用程序框架,具有:会计管理.库存管理制造管理.客户关系管理系统.销售管理 ...

  9. opencv在python环境下的安装_关于python环境下的opencv安装

    吐槽: 这一天我终于记起了这个博客.今天搞python环境下的opencv,又弄了一天,很烦躁.之前配置VS的opencv也是花了好久的时间,然后突然发现之前记录在电脑上的文档都找不到了,于是决定还是 ...

最新文章

  1. 解决cocos2dx 3.x 导入cocostudio的ui界面出现错位问题
  2. 如何在GNOME中添加自己的菜单项
  3. 上证所Level-2在信息内容和传送方式方面的比较优势[逐笔数据与分笔数据的根本区别]...
  4. fc-ae-1553_什么是AE-L,AF-L和*按钮,它们的作用是什么?
  5. 工业级光纤收发器和协议转换器有什么区别呢?
  6. 利用Cache缓存数据DataTable数据提高大数据量访问性能-.NET教程,数据库应用
  7. Oracle 日期加减运算
  8. xcode6新建pch文件过程
  9. 昇腾万里·让AI无所不及!DevRun开发者沙龙在武汉成功举办
  10. python 数组添加数组_Python添加到数组
  11. centos7下yum源安装saltstack
  12. Eclipse基础--java环境变量设置
  13. 软件工程之系统建模篇【设计接口类模型】
  14. 6个裂变获客增长方法
  15. Python模块和包的导入
  16. win10系统安装virtualbox虚拟机win7系统过程记录
  17. 数字类型与列表——python
  18. 除了苹果耳机外哪个无线耳机好?苹果蓝牙耳机平替推荐
  19. 什么是“真AI相机”
  20. 深度学习:长短期记忆模型LSTM

热门文章

  1. R语言指数分布(exponential distribution)函数(dexp, pexp, qexp rexp)实战
  2. Plotly可视化输出数据表格(table):简单表格、添加链接的表格
  3. python列表(list)中出现次数最多的元素使用collection包的Counter方法
  4. 生物学重复吗?还有技术重复?
  5. vue 新手指引_精通react/vue组件设计之快速实现一个可定制的进度条组件
  6. html javascript 遍历数组、字符串
  7. Linux内核实现原子性操作cmpxchg指令的理解
  8. GSM A5/1算法C语言代码实现和分析
  9. linux对文件的描述,对Linux文件系统的简单理解
  10. java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录