我编写了一个Sikuli脚本(Jython)来测试一个网页。脚本中包含多个测试,这意味着当您杀死sikuli时,它之后的测试将不会运行。为了解决这个问题,我想通过一个批处理文件调用每个测试。因此,目前的设置类似于以下内容:
tests = [test1, test2, test3, test4]
for test in tests:
run test
很明显,这是一个简化的版本..。因此,我想要做的是将列表转换为4个批处理文件。第一个批处理文件将使用test1作为参数调用脚本;第二个批处理文件将test2作为参数发送,等等。然后我可以创建另一个批处理文件来迭代它们。但是,除了简单地运行脚本之外,我不知道如何在批处理文件和jython之间进行通信。
这个问题同时涉及批处理文件和jython脚本--我假设您必须在每个脚本中都做一些特殊的事情。
任何帮助都将不胜感激。
谢谢。
发布于 2014-07-18 08:41:47
问题对我来说不是百分之百清楚。我想这就是答案:
首先,您需要将一些参数传递给使用--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"
https://stackoverflow.com/questions/24811087
复制相似问题