codeception / symfony1module
symfony 1.x 框架的模块
This package is auto-updated.
Last update: 2024-09-13 10:34:35 UTC
README
Codeception 模块,用于与 Symfony 1.4 应用程序交互。
替换 symfony 的功能测试框架。授权功能使用 Doctrine 和 sfDoctrineGuardPlugin。使用本机 symfony 连接和测试类。在每次操作中提供额外的信息。
如果测试失败,则在 'log' 目录中存储最后显示的页面。
安装
在 composer.json
中
"require-dev": {
"codeception/codeception": "~2.1",
"codeception/symfony1module": "*"
}
状态
- 维护者: davert
- 稳定性: 稳定
- 联系方式: codecept@davert.mail.ua
配置
- app 必需 - 要测试的应用程序。在大多数情况下,它将是 'frontend'
公共属性
- browser - sfBrowser 类的当前实例。
amLoggedAs
以 sfDoctrineGuardUser 登录。只需提供用户名。从 sfGuardUser 表中通过用户名获取用户。
param
$name \Exception
amOnPage
打开页面。
param
$page
click
点击链接或按钮并转到下一页。可以是链接文本、CSS选择器或xpath
param
$link
clickSubmitButton
模拟点击表单的提交按钮。如果您通过 ->submitForm 操作填充表单,则不需要此操作。
param
$selector
dontSee
检查当前页面是否不包含指定的文本。指定 CSS 选择器以匹配特定区域。
示例
<?php $I->dontSee('Login'); // I can suppose user is already logged in $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page
param
$textparam null
$selector
dontSeeCheckboxIsChecked
断言指定的复选框未选中。使用 CSS 选择器或 xpath 进行匹配。
示例
<?php $I->dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form.
param
$selector
dontSeeLink
检查页面是否不包含指定的文本链接。指定 URL 以缩小结果。
示例
<?php $I->dontSeeLink('Logout'); // I suppose user is not logged in
param
$textparam null
$url
see
检查当前页面是否包含指定的文本。指定 CSS 选择器以匹配特定区域。
示例
<?php $I->see('Logout'); // I can suppose user is logged in $I->see('Sign Up','h1'); // I can suppose it's a signup page
param
$textparam null
$selector
seeCheckboxIsChecked
断言指定的复选框被选中。使用 CSS 选择器或 xpath 进行匹配。
示例
<?php $I->seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form.
param
$selector
seeEmailReceived
检查是否至少发送了一封通过 Symfony 测试邮件发送器发送的电子邮件。
seeErrorInField
检查 Symfony1 表单中的无效值。匹配控制器中的第一个 sfForm 实例并返回 getErrorSchema() 值。指定应包含错误消息的字段。
param
$field
seeErrorsInForm
执行 Symfony1 表单的验证。匹配控制器中的第一个 sfForm 实例并返回 getErrorSchema() 值。在调试中显示所有错误。
seeFormIsValid
执行 Symfony1 表单的验证。匹配控制器中的第一个 sfForm 实例并返回 isValid() 值。
seeLink
检查是否存在具有指定文本的链接。指定 URL 以匹配与此 URL 完全匹配的链接。
示例
<?php $I->seeLink('Logout'); // matches <a href="#">Logout</a> $I->seeLink('Logout','/logout'); // matches <a href="/logout">Logout</a>
param
$textparam null
$url
sendAjaxGetRequest
如果您的页面触发一个 AJAX 请求,您可以手动执行它。此操作发送带有指定参数的 GET AJAX 请求。
参见 ->sendAjaxPostRequest 中的示例。
param
$uriparam
$params
sendAjaxPostRequest
如果您的页面触发一个 AJAX 请求,您可以手动执行它。此操作发送带有指定参数的 POST AJAX 请求。可以传递额外的参数作为数组。
示例
假设通过点击复选框您触发了一个更新用户设置的 AJAX 请求。我们通过手动运行此 AJAX 请求来模拟此点击。
<?php $I->sendAjaxPostRequest('/updateSettings', array('notifications' => true); // POST $I->sendAjaxGetRequest('/updateSettings', array('notifications' => true); // GET
param
$uriparam
$params
signIn
使用 sfGuardAuth 登录用户。使用标准路径:/sfGuardAuth/signin 进行授权。提供用户名和密码。
param
$usernameparam
$password
signOut
登出操作通过触发'/logout' URL执行。
submitForm
提交页面上的表单。通过CSS或xpath选择器指定表单。将表单字段值作为数组填充。
跳过的字段将使用页面上的值填充。之后不需要点击'提交'按钮。此命令本身会触发表单的动作请求。
示例
<?php $I->submitForm('#login', array('login' => 'davert', 'password' => '123456'));
对于示例注册表单
<form action="/sign_up"> Login: <input type="text" name="user[login]" /><br/> Password: <input type="password" name="user[password]" /><br/> Do you agree to out terms? <input type="checkbox" name="user[agree]" /><br/> Select pricing plan <select name="plan"><option value="1">Free</option><option value="2" selected="selected">Paid</option></select> <input type="submit" value="Submit" /> </form>
我可以这样写
<?php $I->submitForm('#userForm', array('user' => array('login' => 'Davert', 'password' => '123456', 'agree' => true)));
注意,定价计划将设置为已付费,因为它已经在页面上被选中。
param
$selectorparam
$params