Отправить аргументы из пакетного файла в Jython/Python

Я написал скрипт Sikuli (Jython) для тестирования веб-страницы. Скрипт содержит в себе несколько тестов, а это значит, что когда один убьет сикули, те, что после него, не запустятся. Чтобы исправить это, я хотел бы вместо этого вызывать каждый тест через пакетный файл. Итак, в настоящее время он настроен примерно так:

tests = [test1, test2, test3, test4]

for test in tests:
  run test

Очевидно, это упрощенная версия... поэтому я хотел бы преобразовать список в 4 пакетных файла. Первый пакетный файл вызовет сценарий с test1 в качестве аргумента; второй отправит test2 в качестве аргумента и т. д. Затем я мог бы создать еще один пакетный файл для их повторения. Однако я не знаю, как взаимодействовать между пакетным файлом и jython, кроме простого запуска сценария.

Этот вопрос относится как к пакетному файлу, так и к сценариям jython - я предполагаю, что вам нужно сделать что-то особенное в каждом из них.

Любая помощь будет оценена по достоинству.

Спасибо.


person user2869231    schedule 17.07.2014    source источник


Ответы (1)


Вопрос не на 100% ясен для меня. Я предполагаю, что это ответ:

Прежде всего, вам нужно передать некоторые аргументы скрипту Sikuli, запускаемому из командного файла, с опцией --args, например:

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://docs.python.org/2/library/sys.html#sys.argv

person Marcin Kowalczyk    schedule 18.07.2014
comment
это то, что я ищу, спасибо. Если я собираюсь иметь отдельный пакетный файл для каждого, должен ли я включать только один тест в качестве аргумента? Разные для каждого. Итак: myPath\runIDE.cmd -r MyPath\MyScript.sikuli --args test1 - person user2869231; 18.07.2014