解决ImportError:运行grinder脚本时没有命名的模块

时间:2014-05-05 06:11:56

标签: python jython grinder

我开始使用grinder工具,当我运行我的脚本时,我得到以下错误。

ImportError: No module named net.grinder.script. Grinder

这是我试图运行的脚本

# A minimal script that tests The Grinder logging facility.
#
# This script shows the recommended style for scripts, with a
# TestRunner class. The script is executed just once by each worker
# process and defines the TestRunner class. The Grinder creates an
# instance of TestRunner for each worker thread, and repeatedly calls
# the instance for each run of that thread.

  from net.grinder.script.Grinder import grinder
  from net.grinder.script import Test

# A shorter alias for the grinder.logger.info() method.
  log = grinder.logger.info

# Create a Test with a test number and a description. The test will be
# automatically registered with The Grinder console if you are using
# it.
  test1 = Test(1, "Log method")

# Instrument the info() method with our Test.
  test1.record(log)

# A TestRunner instance is created for each thread. It can be used to
# store thread-specific data.
 class TestRunner:

# This method is called for every run.
 def __call__(self):
    log("Hello World")

当运行此脚本时,我收到导入错误。

我也设置了CLASSPATH和JAVA_HOME环境变量。谁能帮我吗。

3 个答案:

答案 0 :(得分:1)

在我看来,您正在尝试使用Jython直接运行脚本。您应该使用The Grinder运行脚本。

如果您正确设置了类路径,并且脚本文件位于本地目录中并且名为helloworld.py,那么

java -Dgrinder.script=helloworld.py net.grinder.Grinder

应该启动一个代理,运行一个工作进程,然后执行一次脚本。

答案 1 :(得分:1)

设置类路径有点棘手,我在运行上面的Philp提供的java命令之前在mac(10.6.8)终端上做了以下操作:

ClassPath设置:(在终端上执行此操作)

    export JAVA_VERSION=1.6
    export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    export GRINDERPATH=/Users/cdname/grinder-3.11
    export CLASSPATH=$GRINDERPATH/lib/grinder.jar:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH
    java -classpath $CLASSPATH net.grinder.Grinder

我把它包含在/etc/launchd.conf中,然后运行        grep -E" ^ setenv" /etc/launchd.conf | xargs -t -L 1 launchctl

在grinder.properties文件集中:grinder.useConsole = false

现在运行.py文件:

     java -Dgrinder.script=csaTest.py net.grinder.Grinder

答案 2 :(得分:0)

你可以用我发布的详细信息(

)进行交叉检查
http://stackoverflow.com/questions/19148365/cant-run-grinder-java-test-framework/19429771#19429771

这似乎是道路问题。如果上述解决方案均无效,请尝试使用' sys.path()'手动设置路径。 &安培;将它打印在一个示例Jython脚本&将输出粘贴到这里

print sys.path