很多用户在开源社区中询问在 MeterSphere 开源持续测试平台的前后置脚本中如何引用 Python 第三方库,本文将分享对应的实现方法和具体操作。
1 方案 {#heading-1}
Virtualenv 是一个创建隔绝的 Python 环境的工具,它创建一个包含所有必要的可执行文件的文件夹,用来使用 Python 工程所需的包。通过在 MeterSphere 持续测试平台所在宿主机上创建 Virtualenv 环境,安装第三方库,并在 JMeter 容器中挂载相应目录,就可以实现在 MeterSphere平台前后置脚本中引用第三Python方库。
2 实现步骤 {#heading-2}
前提:MeterSphere 所在宿主机提前安装 Python2环境以及 Virtualenv 工具。
注意:在同时安装了Python2和Python3的环境下,使用virtualenv --copies . 创建的虚拟环境会是Python3的。目前MeterSphere只支持Python2,所以可以使用使用python2 -m virtualenv 环境名来创建。
# 安装 Virtualenv
pip install virtualenv
第一步:进入MeterSphere所在节点,安装所需的第三方包。
# 创建virtualenv
# data目录为docker默认挂载路径,可将第三方包安装该目录下,若Metersphere实际安装路径为其他路径,则下面操作放在MS实际安装路径下
cd /opt/metersphere/data/
mkdir python
cd python/
virtualenv --copies .
source bin/activate
安装第三方包,比如xpinyin
pip install xpinyin==0.5.7 -i https://pypi.tuna.tsinghua.edu.cn/simple
查看是否安装成功,是否有生成相应目录
ll lib/python2.7/site-packages/
第二步:前台编写Python前后置脚本,并进行验证,脚本示例:
import sys
# 注意:此路径容器内部的映射路径,为固定值
sys.path.append("/opt/metersphere/data/python/lib/python2.7/site-packages")
from xpinyin import Pinyin
log.info("==========debug==========")