2019-07-04 13:01
浏览 313


I have just started to learn Selenium Testing in Php and I started to test login function in the website. I would like to write standard test which is applicable for any website. That's why I would like to keep my variables in separate YML file.

How can keep my variables in YML file and call my variables from YML file to php? I have tried too many solution but none of them really worked. Thanks in advance for your help.

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->fillField(self::$emailField, $email);
        $I->fillField(self::$passwordField, $password);
        return $this;

my Codeception configuration is:

actor: AcceptanceTester
        - \Helper\Acceptance
        - WebDriver:
            url: '/'
            browser: chrome
            host: '787877878'
            window_size: 1920x1080
            port: 9999
            wait: 5
                unexpectedAlertBehaviour: 'accept'
        email: 'testdeneyv@gmail.com'
        pasword: ................
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douqun1977 2019-07-04 14:31

    If you want to use YAML in PHP, you need to install the extension with PECL:

    pecl install yaml

    If it fails with a libtool version mismatch error, you will need to download it first, compile and install it yourself, and enable it in the php.ini file.

    Once that's done, you can easily parse your file by getting its content and running the parse function, like so:

    $vars = yaml_parse( file_get_contents( './vars.yml' ) );
    解决 无用
    打赏 举报

相关推荐 更多相似问题