Как объединить два или более окружения - PullRequest
0 голосов
/ 01 ноября 2018

Я пишу набор приемочных тестов, и мне нужно сделать среду легко настраиваемой, но чтобы это работало, мне нужно иметь возможность объединить две или более среды ( 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, и слияние сред там прекрасно работает, но если я попытаюсь загрузить точно такой же проект и запустить его локально, он все равно не будет работать.

...