Я пишу набор приемочных тестов, и мне нужно сделать среду легко настраиваемой, но чтобы это работало, мне нужно иметь возможность объединить две или более среды ( geoLocation, browser, os, urls ).
Если я запускаю: .\codecept run tests\acceptance\acceptanceTestCest --env firefox
тесты запускаются без проблем с любой средой, которую я выберу.
Теперь моя проблема в том, что если я пытаюсь объединить среды: .\codecept run tests\acceptance\acceptanceTestCest --env firefox,US
, я получаю следующее сообщение:
В строке Configuration.php 306:
[Codeception \ Exception \ Исключение настройки]
Набор тестов \ accept \ acceptTestCest.php не был загружен
И если я пытаюсь объединить более двух сред, я получаю это сообщение:
Слишком много аргументов, ожидаемые аргументы "команда" "набор" "тест".
Вот как выглядит мой accept.suite.yml :
actor: AcceptanceTester
modules:
enabled:
- WebDriver:
url: http://localhost
- REST:
depends: PhpBrowser
url: 'http://localhost/api/'
- \Helper\Acceptance
config:
WebDriver:
host: 'user:key@hub.browserstack.com'
port: 3214
browser: chrome
capabilities:
os: Windows
os_version: 10
browserstack.local: true # for local testing
env:
AU:
modules:
config:
WebDriver:
capabilities:
browserstack.geoLocation: AU
US:
modules:
config:
WebDriver:
capabilities:
browserstack.geoLocation: US
CA:
modules:
config:
WebDriver:
capabilities:
browserstack.geoLocation: CA
firefox:
modules:
config:
WebDriver:
browser: firefox
safari:
modules:
config:
WebDriver:
browser: safari
Я искал везде эту проблему, и я не нашел никого, кто даже сталкивался с этим. Самое близкое, что я обнаружил, было то, что тесты будут выполняться только со второй средой.
Я новичок в Codeception
и, возможно, мне чего-то не хватает.
Я прочитал документацию по https://codeception.com/docs/07-AdvancedUsage#Environments и, похоже, оттуда ничего плохого не сделал.
Кодовая версия: 2.4.5
Версия PHP 7.2.8
Операционная система: Windows server 2012
Тип установки: Композитор 1.7.2
То, что я пробовал:
Поместите окружения в папку _envs.
Поместите окружения в codeception.yml
Другие вещи, которые я сейчас не могу вспомнить.
Если у кого-то есть идеи, пожалуйста, поделитесь, потому что моя голова больше не может принимать удары со стола. Если вам нужна дополнительная информация, вы можете спросить.
Спасибо!
РЕДАКТИРОВАТЬ: У меня также есть проект на jenkins, и слияние сред там прекрасно работает, но если я попытаюсь загрузить точно такой же проект и запустить его локально, он все равно не будет работать.