首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将参数从批处理文件发送到Jython/Python

将参数从批处理文件发送到Jython/Python
EN

Stack Overflow用户
提问于 2014-07-17 18:37:29
回答 1查看 788关注 0票数 0

我编写了一个Sikuli脚本(Jython)来测试一个网页。脚本中包含多个测试,这意味着当您杀死sikuli时,它之后的测试将不会运行。为了解决这个问题,我想通过一个批处理文件调用每个测试。因此,目前的设置类似于以下内容:

代码语言:javascript
运行
复制
tests = [test1, test2, test3, test4]

for test in tests:
  run test

很明显,这是一个简化的版本..。因此,我想要做的是将列表转换为4个批处理文件。第一个批处理文件将使用test1作为参数调用脚本;第二个批处理文件将test2作为参数发送,等等。然后我可以创建另一个批处理文件来迭代它们。但是,除了简单地运行脚本之外,我不知道如何在批处理文件和jython之间进行通信。

这个问题同时涉及批处理文件和jython脚本--我假设您必须在每个脚本中都做一些特殊的事情。

任何帮助都将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-18 08:41:47

问题对我来说不是百分之百清楚。我想这就是答案:

首先,您需要将一些参数传递给使用--args选项从批处理文件启动的Sikuli脚本,例如:

代码语言:javascript
运行
复制
YourPath\runIDE.cmd -r YourPath\YourScript.sikuli --args test1 test2 someOtherOption

其次,您必须使用sys.argv变量在脚本中接收它。它在Python或Jython中都会同样工作。代码示例:

代码语言:javascript
运行
复制
import sys
print sys.argv

for a in sys.argv:
    if a=="test1":
        print "Do something"
    elif a=="test2":
        print "Do something else"

https://docs.python.org/2/library/sys.html#sys.argv

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24811087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档