codeception的Yii桥是否是测试Yii应用程序以及如何绕过phpBrowser限制所必需的
我正在设置codeception以测试我的Yii应用程序。 我遇到了“YiiBridge”,我真的不明白为什么需要它,因为我创建了一个简单的验收测试用例,它工作得很好。 我的测试用例是:codeception的Yii桥是否是测试Yii应用程序以及如何绕过phpBrowser限制所必需的,yii,functional-testing,codeception,acceptance-testing,Yii,Functional Testing,Codeception,Acceptance Testing,我正在设置codeception以测试我的Yii应用程序。 我遇到了“YiiBridge”,我真的不明白为什么需要它,因为我创建了一个简单的验收测试用例,它工作得很好。 我的测试用例是: <?php $I = new AcceptanceTester($scenario); $I->wantTo('ensure that the frontpage works'); $I->amOnPage('/'); $I->see('LOGIN');
<?php
$I = new AcceptanceTester($scenario);
$I->wantTo('ensure that the frontpage works');
$I->amOnPage('/');
$I->see('LOGIN');
?>
更复杂的测试用例需要YiiBridge吗
我还注意到验收和功能测试用例完全相同,不同之处在于functional.suite.yml文件中缺少phpBrowser,而acceptance.suite.yml文件中存在phpBrowser,在codeception网站上,他们说phpBrowser有以下缺点:
- 您只能单击具有有效URL的链接或表单提交按钮
- 不能填写表单之外的字段
- 不能使用JavaScript交互:模式窗口、日期选择器等
public function openDevice() {
$I = $this;
$script = 'return document.getElementById("createDevice").children[0].click()';
$I->executeJS($script);
}
测试JS总是有点烦人,但这是可能的。谢谢,这很有帮助。如果你不介意的话,最好的感谢就是接受并投票决定答案:)