Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Как разделить прогон тестов в PhpBrowser и WebDriver

codeception
webdriver
php
Теги: #<Tag:0x00007fedbae97f00> #<Tag:0x00007fedbae97d70> #<Tag:0x00007fedbae97c08>

(rus) #1

подскажите, плиз, как сделать так, что-бы в некоторых тестах у меня проверка происходила на PhpBrowser’e а в некоторых в WevDriver’e


(Michael Bodnarchuk) #2

Ответ: сделать эти тесты в разных suite’ах

Например:

  • acceptance -> WebDriver
  • web -> PhpBrowser

В Codeception есть концептуальное ограничение: тесты с одной конфигурации принадлежат к одному сьюту. Как минимум всегда будет определенность как запускается тот или иной тест.


(Vadim) #3

Я у себя решил эту проблему через окружение, каждому тесту через аннотации указал браузеры для которых он предназначен

Аннотация перед тестом:

* @env firefox
* @env chrome
* @env chromeheadless
* @env phpbrowser

В tests/acceptance.suite.yml :

env:
    phpbrowser:
              modules:
                    disabled:
                        - WebDriver
                    enabled:
                        - PhpBrowser
    chrome:
              modules:
                    config:
                        WebDriver:
                            browser: chrome
.....итд

Запуск:
./vendor/bin/codecept run --env chrome --env phpbrowser


(rus) #4

Спасибо за ответ!
Подскажи пожалуйста, что я сделал не так?

Мой acceptance.suite.yml файл

actor: AcceptanceTester
env:
  - \Helper\Functional
    phpbrowser:
              modules:
                    disabled:
                        - WebDriver
                    enabled:
                        - phpBrowser
    chrome:
              modules:
                    config:
                        WebDriver:
                            browser: chrome
                            url: http://logInTo@url/
                            host: XX.XXX.XX.XXX
                            port: 4444
                            browser: chrome
                            restart: true
                            window_size: 1440x1440

перед тестом указал:

/**
*@env phpBrowser
*/

запускаю так:
vendor/bin/codecept run --env phpbrowser

в консоли


(Vadim) #5

По всей видимости перед тестом нужно указать “phpbrowser” а не “phpBrowser” :slight_smile:


(rus) #6

и так и так, результат одинаковый :pensive:


(rus) #7

вот так сейчас выглядит мой файлик

actor: AcceptanceTester
env:
  - \Helper\Functional
    phpbrowser:
              modules:
                    disabled:
                        - WebDriver
                    enabled:
                        - phpBrowser
    chrome:
              modules:
                    config:
                        WebDriver:
                            browser: chrome
                            url: http://url/
                            host: host
                            port: 4444
                            browser: chrome
                            restart: true
                            window_size: 1440x1440
    phpBrowser:
              modules:
                    config:
                        phpBrowser:
                            url: http://url/
                            auth: ['login', 'passswod']

может тут что-то не так?


(rus) #8

а можешь плиз показать свой yml файл? Я постараюсь сделать по аналогии
буду очень благодарен. :blush:


(Vadim) #9

Мой файлик как то так организован:

actor: AcceptanceTester
modules:
    enabled:
              - \Helper\Acceptance     
              - WebDriver  
env:
    phpbrowser:
              modules:
                    disabled:
                        - WebDriver
                    enabled:
                        - PhpBrowser
                    config:
                        PhpBrowser:
                            url: http://url/
                            auth: ['login', 'passswod']
    chrome:
              modules:
                    config:
                        WebDriver:
                            browser: chrome
                            url: http://url/
                            host: host
                            port: 4444
                            browser: chrome
                            restart: true
                            window_size: 1440x1440
/**
* @env phpbrowser
*/

vendor/bin/codecept run --env phpbrowser


(rus) #10

Спасибо большое!!! всё взлетело так как надо :slightly_smiling_face: :tada: