使用Python的J Meter:如何导入包

时间:2018-12-24 11:15:44

标签: python jmeter

将新蜜蜂撒到jmeter上

我的代码在Python 2.7中正常工作,并导入了其他软件包Dateutil,parser。

问题:但是,当我尝试在J Meter-JSR-223预处理器中运行相同的代码时,出现错误,提示没有名为dateutil的模块存在。

因此,我尝试了另一种使用Jython的方法。

安装了Jython(下载了dateutil),并在

下提供了软件包参考。
import sys
sys.path.append('C:/Jython27/Lib/site-packages')
sys.path.append('C:/Jython27/Lib/site-packages/python_dateutil-2.4.2-py2.7/dateutil')
sys.path.append('C:/Jython27/Lib/site-packages/python_dateutil-2.4.2-py2.7/dateutil')

现在包错误消失了,但是存在字符串语法错误. java.sql.Date' object has no attribute .

2 个答案:

答案 0 :(得分:0)

我相信dateutil软件包可以从CPython中获取,因为它不需要Java的任何额外包装。

  1. 通常使用pip来安装dateutil,例如:

    pip install python-dateutil
    
  2. 将Python(不是Jython)安装的site-packages文件夹添加到sys.path中,例如:

    sys.path.append("C:\Python27\Lib\site-packages")
    
  3. 就是这样,现在您应该可以使用JSR223测试元素中的dateutil模块功能了:

    enter image description here


请注意,从性能的角度来看,通过Jython解释器调用Python脚本不是最好的主意,并且如果您仅要有限次数地和/或使用一个线程来调用Python代码,则可能最好选择OS Process Sampler

如果您打算使用Python代码创建主要负载,请考虑使用Locust工具而不是JMeter。如果您不想更改JMeter,那么一种好的方法是用Groovy重写Python代码-从性能的角度来看会更好。

答案 1 :(得分:0)

嗨,请跟上

import sys
sys.path.append('C:/Python27/Lib/site-packages')
sys.path.append('C:/Python27/Lib/site-packages/python_dateutil-2.4.2-py2.7/dateutil')

from dateutil.parser import *
sourceDateTimeOfEvent = ""
dateTimeOfEvent = ""

a=parse('2016-07-01 13:00:00')
sourceDateTimeOfEvent = a.isoformat()+"+05:30Z"
dateTimeOfEvent = a.isoformat()+ "Z"

vars.put("sourceDateTimeOfEvent", sourceDateTimeOfEvent)
vars.put("dateTimeOfEvent", dateTimeOfEvent)

此sourceDateTimeOfEvent和dateTimeOfEvent被视为两个变量,并将其传递给json文件