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

案例故事: 在测试环境搭建环节,尤其是需要在新的电脑上搭建Python测试环境时,

可以考虑把日常自动化测试所需要用到的第三方Python包(非自带内置包), 一次性批量安装上。

准备阶段

确保python及pip已经添加到了Path环境变量

可以利用os.system("具体命令")函数来实现批量安装

自动化测试人员,常用的第三方包如下表:

第三方包名

应用场景

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 httprunner

pip install selenium

pip install openpyxl

pip install robotframework

pip install appium-python-client

pip install uiautomator2

pip install locust

pip install flask

pip install django

pip install pillow

pip install pandas

pip install keyboard

pip install python-jenkins

pip install pyinstaller

pip install python_docx

pip install plotly

pip install pyserial

pip install pymysql

pip install MySQLdb

pip install mongodb

pip install redis

pause

以下是对应的Python批处理脚本形式:

import os

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")

os.system("pause") # 暂停并查看执行结果避免直接关闭

$$$

咋一看,是Dos bat批处理脚本更为简单直接,但是bat语法太过简单,只能处理简单的数据,

在稍大点的程序处理过程中,bat显得很吃力且不科学,还是Python更为合理!

Python面向过程函数形式

其实本案例Python批处理脚本形式实现即可,以下只是用于编程思维训练,

找到可以封装成一个函数块的小代码块儿, 用函数封装起来,

函数的命名一般建议用"动词", 所以我们命名为: "install_3rd_package",

封装好后, install_3rd_package()函数调用即可,

备注:3rd就是第三方的意思,third party的简写。

# coding=utf-8

import os

def 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批处理脚本形式实现即可,以下只是用于编程思维训练,

以"一切皆可归类"的思想, 先抽象化出一个类来,

类名一般建议用"名词", 所以我们命名为"PackageInstaller",

代表包安装器, 且一般要驼峰式(首字母大写)来规范类的命名.

养成良好的类的初始化(init)的习惯,

初始化过程中, 可以pass(什么都不做)

这个PackageInstaller类, 目前需要一个截屏的函数(动作功能)就足够了,

函数的命名一般建议用"动词", 所以我们命名为: "install_package"这个各单元函数,

再定义一个批量函数"install_3rd_package",

类是一个抽象的事物, 必须实例化成具体的对象后,

才能进行调用, 所以我们实例化并命名成了m_obj, 表明是一个对象。

实例化成具体对象后, 对象就可以调用install_3rd_package这个函数了。

# coding=utf-8

import os

class 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系统环境)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值