我正在编写一个基于 Gherkin 的验收测试 PoC。我有一个功能文件、步骤对象和页面对象。在我的序列中,我需要先登录测试用户,然后再进行该系列的其余部分。我们的 SUT 是一个遗留的 PHP 应用程序,没有使用任何框架。
我想将测试用户的凭据存储在 params.yml 或其他外部配置文件中,但未能成功完成这项工作并且无法找到完整的示例。
我的登录对象目前是一个简单的 Cest 类。我不认为它需要自己的功能描述,其余测试将在需要时基于 Gherkin。我的配置文件目前是 Codeception 5 的引导程序命令生成的默认配置,其中为我目前编写的一个功能文件添加了一个小黄瓜部分。最终我将在 WebDriver 下运行它以启用会话......现在我只是试图建立一个可重用的环境,我们可以为开发团队构建。
Codeception 文档似乎掩盖了其中一些概念或对框架新用户的建议。
我真诚地感谢您的任何想法或疑虑。
<?php
namespace Tests\Acceptance;
use Codeception\Attribute\Group;
use Tests\Support\AcceptanceTester;
use Tests\Support\Page\Acceptance\LoginPage;
class LoginCest
{
#[Group('login')]
public function successfulLogin(AcceptanceTester $I, LoginPage $loginPage)
{
$loginPage->login( <testUserHere>, <goodPasshere> ); // <-this is what I want to provide
$I->dontSeeElement('.alert-error');
$I->amOnPage("/command.php");
}
public function unsuccessfulLogin(AcceptanceTester $I, LoginPage $loginPage)
{
$loginPage->login(getenv( <testUserHere> , 'baddpass');
$I->seeElement('.alert-error');
$I->amOnPage("/");
}
}