まず、ログイン ルーチンはテスト中に頻繁に使用される可能性が高いため、ヘルパー クラスに抽象化することをお勧めします。
<?php
// loginHelper.php
class loginHelper {
function login($username, $password, $I) {
$I->fillField('login_identity', $username);
$I->fillField('login_password', $password);
}
}
?>
accept.suite.yml で有効にするモジュールとして loginHelper を含め、_helpers/ ディレクトリに保存する必要があります。これで、残りの受け入れテストでログイン機能を自由に使用できるようになりました。
<?php
$I = new WebGuy($scenario);
$I->amOnPage('account/sign_in');
login('me_vamshi@yahoo.com', 'don', $I);
$I->click('submit');
$I->see('The Captcha Answer field is required.');
?>
質問に答えるために、_data/ ディレクトリの .yml ファイルに保存することで、ユーザー名とパスワードがテストにハードコードされるのを防ぐことができます。を使用Yaml::parse(__DIR__ . '/../_data/login.yml')
して、内容を配列にフィードします。yaml パーサーもヘルパーに入れて、すべてのテストにグローバルに含めることができるようにすることをお勧めします。つまり、login.yml のユーザー名とパスワードを変更するだけで、すべてのテストで使用される値を変更できます。この方法で複数のユーザー名とパスワードを使用することもできます。保存できる値はログインの詳細だけではないことにすぐに気付くでしょう。