Можно ли при использовании Behave передать переменную в функциюbefore_all в файле Environment.py? ⇐ Python
-
Гость
Можно ли при использовании Behave передать переменную в функциюbefore_all в файле Environment.py?
Я использую Behave, и у меня есть несколько прокси-серверов для разных требований к тестированию. У меня есть вся информация о прокси в файле Environment.py, но я хотел бы иметь возможность сделать что-то вроде запуска behave .\features\automated_test.feature --tags=proxy1, а затем в файле Environment.py proxy1 передается в функцию before_all, например before_all(proxy).
Таким образом я могу использовать эту строку chrome_options.add_argument('--proxy-server=%s' % proxy) и в нее будет передан выбранный прокси.
environment.py
first_bypassList = [ "github.com", "stackoverflow.com" ] first_bypassList = ';'.join(first_bypassList) Second_bypassList = [ «Microsoft.com», "google.com" ] Second_bypassList = ';'.join( Second_bypassList) если прокс == 'первый': bypassList = first_bypassList prox_server = 'первый прокси: 3128' elif prox == 'второй': bypassList = второй_bypassList prox_server = 'второй прокси: 3128' защита before_all (контекст): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--proxy-server=%s' % prox_server) chrome_options.add_argument("--proxy-bypass-list=%s" % bypassList) context.driver = webdriver.Chrome(chrome_options) context.driver.maximize_window() защита after_all (контекст): context.driver.close()
Я использую Behave, и у меня есть несколько прокси-серверов для разных требований к тестированию. У меня есть вся информация о прокси в файле Environment.py, но я хотел бы иметь возможность сделать что-то вроде запуска behave .\features\automated_test.feature --tags=proxy1, а затем в файле Environment.py proxy1 передается в функцию before_all, например before_all(proxy).
Таким образом я могу использовать эту строку chrome_options.add_argument('--proxy-server=%s' % proxy) и в нее будет передан выбранный прокси.
environment.py
first_bypassList = [ "github.com", "stackoverflow.com" ] first_bypassList = ';'.join(first_bypassList) Second_bypassList = [ «Microsoft.com», "google.com" ] Second_bypassList = ';'.join( Second_bypassList) если прокс == 'первый': bypassList = first_bypassList prox_server = 'первый прокси: 3128' elif prox == 'второй': bypassList = второй_bypassList prox_server = 'второй прокси: 3128' защита before_all (контекст): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--proxy-server=%s' % prox_server) chrome_options.add_argument("--proxy-bypass-list=%s" % bypassList) context.driver = webdriver.Chrome(chrome_options) context.driver.maximize_window() защита after_all (контекст): context.driver.close()
Мобильная версия