我有symfony生成的以下输入字段:
<input type="text" id="my_project_localebundle_citytype_name"
name="my_project_localebundle_citytype[name]" required="required"
maxlength="45" class="text">
我正在写这样的场景:
@javascript
Scenario: Add a city
Given I follow "Locales"
And I follow "Add city"
Then I fill in "name" with "Testing 1 2 3"
...
但无法找到该字段
Form field with id|name|label|value "name" not found.
我知道我可以把我的完整身份或姓名,但它太长了,我想保留它,有没有更容易填写我的方案而不编辑我的输入?
答案 0 :(得分:1)
我对小黄瓜的理解是,它显示了我们的设计和用户体验有什么问题。 如果我们不能告诉程序什么字段填充,人类可以怎么样?
此方案的主要目的不是填写表单而是添加城市。因此,您应该在Then
行上And
更改Then I fill in "name" with "Testing 1 2 3"
。
另一方面,您只需添加特定的验证方法并保留可读的功能,例如:
And I fill the city's creation form field with "Testing 1 2 3"
然后在你的背景下:
/**
* @Given /^I fill the city's creation form field with "([^"]*)"$/
*/
public function fillCitysCreationForm($arg1)
{
$this->fillField('my_project_localebundle_citytype_name', $arg1);
}
PS:我没有测试以前的代码,你可能需要改进它。