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

How can I store my variables in yaml file?

刚开始学习Selenium Testing Php,开始测试网站的登录功能。我想编写适用于任何网站的标准测试。这就是为什么我想将我的变量保存在单独的 YML 文件中。

如何将我的变量保存在 YML 文件中并将我的变量从 YML 文件调用到 php?我尝试了太多解决方案,但其中 none 确实有效。预先感谢您的帮助。

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: ................

如果你想在PHP中使用YAML,你需要用PECL安装扩展:

pecl install yaml

如果出现libtool version mismatch error失败,需要先下载,自行编译安装,在php.ini中启用文件。

完成后,您可以通过获取文件内容和 运行 解析函数轻松解析文件,如下所示:

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