从批处理文件向Jython/Python传递参数
我写了一个Sikuli脚本(用Jython语言)来测试一个网页。这个脚本里面有多个测试,也就是说,如果其中一个测试被终止了,后面的测试就不会执行了。为了修复这个问题,我想通过一个批处理文件来分别调用每个测试。目前的设置大致是这样的:
tests = [test1, test2, test3, test4]
for test in tests:
run test
显然,这只是一个简化的版本……所以我想把这个测试列表转换成4个批处理文件。第一个批处理文件会调用脚本,并传入test1作为参数;第二个批处理文件会传入test2作为参数,依此类推。然后我可以再创建一个批处理文件来循环执行这些测试。不过,我不知道怎么在批处理文件和Jython之间进行沟通,除了直接运行脚本以外。
这个问题涉及到批处理文件和Jython脚本,我猜想在每个文件中都需要做一些特别的处理。
任何帮助都非常感谢。
谢谢。
1 个回答
0
这个问题对我来说不是特别清楚。我猜这就是答案:
首先,你需要通过--args选项将一些参数传递给从批处理文件启动的Sikuli脚本,比如:
YourPath\runIDE.cmd -r YourPath\YourScript.sikuli --args test1 test2 someOtherOption
其次,你必须在脚本中使用sys.argv变量来接收这些参数。在Python或Jython中都是一样的。代码示例:
import sys
print sys.argv
for a in sys.argv:
if a=="test1":
print "Do something"
elif a=="test2":
print "Do something else"