Я пишу набор приемочных тестов, и мне нужно сделать среду легко настраиваемой, но чтобы это работало, мне нужно объединить две или более сред (геолокация, браузер, ОС, URL).
Если я бегу: .\codecept run tests\acceptance\acceptanceTestCest --env firefox
тесты запускаются без проблем с любой средой, которую я выберу.
Теперь моя проблема заключается в том, что если я попытаюсь объединить среды: .\codecept run tests\acceptance\acceptanceTestCest --env firefox,US
Я получаю следующее сообщение:
В строке 306 Configuration.php:
[Codeception \ Exception \ Исключение настройки] Набор тестов \ accept \ acceptTestCest.php не был загружен
И если я пытаюсь объединить более двух сред, я получаю это сообщение:
Слишком много аргументов, ожидаемые аргументы «команда», «набор», «тест».
Вот так мой acceptance.suite.yml похоже:
actor: AcceptanceTester
modules:
enabled:
- WebDriver:
url: http://localhost
- REST:
depends: PhpBrowser
url: 'http://localhost/api/'
- \Helper\Acceptance
config:
WebDriver:
host: 'user:[email protected]'
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, и объединение сред там прекрасно работает, но если я попытаюсь загрузить тот же проект и запустить его локально, он все равно не будет работать.
Задача ещё не решена.
Других решений пока нет …