drjgk44268
2019-07-04 13:01 阅读 186
已采纳

如何将我的变量存储在yaml文件中?

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->amOnPage($URL);
        $I->fillField(self::$emailField, $email);
        $I->fillField(self::$passwordField, $password);
        $I->click(self::$loginButton);
        sleep(3);
        return $this;
    }

my Codeception configuration is:

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条回答 默认 最新

  • 已采纳
    douqun1977 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' ) );
    
    点赞 评论 复制链接分享

相关推荐