Codeception/robo-paracept создание и мерж html репортов

codeception
Теги: #<Tag:0x00007fedbba83d28>

(Tim Moiseev) #21

Щас нет, я грохнул, у меня шелл скрипт не запускался. а Вы сплит тест сделали предваритьельно?


(Rinat Wc) #22

Да конечно, создал он файлики с путями к тестам.


(Tim Moiseev) #23

вторая строка должно быть 4 пробела


(Rinat Wc) #24

Ну вот codeception.yml

actor: Tester

paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs
settings:
    bootstrap: _bootstrap.php
    colors: false
    memory_limit: 1024M
extensions:
    enabled:
        - Codeception\Extension\RunFailed
groups:
    p*: tests/_log/p*
modules:
    config:
        Db:
            dsn: ''
            user: ''
            password: ''
            dump: tests/_data/dump.sql

(Tim Moiseev) #25

А в p* прописаны правильно пути? Покажи p1 к примеру файл


(Rinat Wc) #26
tests\acceptance\approval\ApAgreeOrSignedCest.php
tests\acceptance\approval\ApInWorkCest.php
tests\acceptance\approval\ApRedirectedCest.php

ну он создался автоматом после выполнения robo parallel:split-tests


(Tim Moiseev) #27

а файл сплит тестс покажи плиЗ?


(Rinat Wc) #28
<?php
/**
 * This is project's console commands configuration for Robo task runner.
 *
 * @see http://robo.li/
 */
require_once 'vendor/autoload.php';

class Robofile extends \Robo\Tasks
{
    use \Codeception\Task\MergeReports;
    use \Codeception\Task\SplitTestsByGroups;

    public function parallelSplitTests()
    {
        $this->taskSplitTestFilesByGroups(5)
            ->projectRoot('.')
            ->testsFrom('tests/acceptance')
            ->groupsTo('tests/_log/p')
            ->run();
    }

    public function parallelRun()
    {

    }

    public function parallelMergeResults()
    {

    }
}

(Tim Moiseev) #29

а в коде ->testsFrom(‘tests/acceptance’)


(Rinat Wc) #30

так там просто разбиение на папки же. Я часть фала тока прислал, там что то вроде

tests\acceptance\approval\ApAgreeOrSignedCest.php
tests\acceptance\approval\ApInWorkCest.php
tests\acceptance\approval\ApRedirectedCest.php
tests\acceptance\document_status\DSChangeStatusManuallyCest.php
tests\acceptance\document_status\DSPrintCest.php
tests\acceptance\execution_doc\ControlExecutionOGCest.php

(Tim Moiseev) #31

Хм. попробую воспроизвести у себя. Нужно время


(Rinat Wc) #32

по сути в Split же просто указывается папка где тесты лежат. Если запускать их через алиасы групп или просто run, он по всем папкам в aceptance пробегает и выоплняет


(Tim Moiseev) #33

Попробуйте все же прописать ->testsFrom(‘tests/acceptance/approval’) у меня так работает


(Rinat Wc) #34

тоесть ещё раз пере разбить на файлике после правки в коде?
Конфиг файлы можно глянуть?


(Rinat Wc) #36
class_name: AcceptanceTester
modules:
    enabled:
        - WebDriver:
                 host: localhost
                 browser: phantomjs
                 url: 'http://blabla.bla/'
                 window_size: 1024x768
                 port : 4445
                 wait: 5
                 capabilities:
                     unexpectedAlertBehaviour: 'accept'
        - \Helper\Acceptance

разве в suite.xml надо что то добавлять ещё?


(Tim Moiseev) #37

Ну да http://joxi.ru/a2X7wZwcEgV1mg


(Rinat Wc) #38

Ну это дальше по коду же, нужно для robo, а для codeception не нужно это. Добавил для пример - все равно не алё. Может в винде дело. Хотя через алиасы все ок тесты выполняются


(Tim Moiseev) #39

Может и в винде. У меня допустим дженкинс на винде не запускает php robo.phar parallel:all пишет
tim] $ “C:\Program Files (x86)\Git\bin\sh.exe” -xe C:\Users\Tester\AppData\Local\Temp\4\hudson2101608157169252620.sh

  • php composer.phar install

Generating autoload files

  • php robo.phar parallel:run
    Build step ‘Execute shell’ marked build as failure