Как я могу хранить свои переменные в файле yaml? - PullRequest
0 голосов
/ 04 июля 2019

Я только начал изучать Selenium Testing на Php и начал тестировать функцию входа в систему на веб-сайте. Я хотел бы написать стандартный тест, который применим для любого веб-сайта. Вот почему я хотел бы хранить свои переменные в отдельном файле YML.

Как сохранить мои переменные в YML-файле и вызывать мои переменные из YML-файла в php? Я пробовал слишком много решений, но ни одно из них не сработало. Заранее спасибо за помощь.

class OrderCest
{
    public static $URL = '/';
    public static $searchField = '#login--form #email';
    public static $passwordField = '#login--form input[name=password]';
    public static $loginButton = '#login--form button[type=submit]';

    public function checkLogin(AcceptanceTester $I)
    {
        $I->amOnPage($URL);
        $I->fillField(self::$emailField, $email);
        $I->fillField(self::$passwordField, $password);
        $I->click(self::$loginButton);
        sleep(3);
        return $this;
    }

моя конфигурация Codeception:

actor: AcceptanceTester
modules:
    enabled:
        - \Helper\Acceptance
        - WebDriver:
            url: '/'
            browser: chrome
            host: '787877878'
            window_size: 1920x1080
            port: 9999
            wait: 5
            capabilities:
                unexpectedAlertBehaviour: 'accept'
      setting:
        email: 'testdeneyv@gmail.com'
        pasword: ................

1 Ответ

0 голосов
/ 04 июля 2019

Если вы хотите использовать YAML в PHP, вам нужно установить расширение с помощью PECL:

pecl install yaml

Если произойдет сбой с libtool version mismatch error, вам необходимо сначала загрузить его, скомпилировать и установитьсделайте это самостоятельно и включите его в файле php.ini .

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

$vars = yaml_parse( file_get_contents( './vars.yml' ) );
...