0

我有以下由 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.

我知道我可以输入完整的 ID 或姓名,但它太长了,我想保留它,有没有更容易在我的场景中填写它而不编辑我的输入的方法?

4

1 回答 1

1

我对小黄瓜的理解是,它显示了我们的设计和用户体验有什么问题。如果我们不能告诉程序填充什么字段,那么人类怎么可能呢?

此外,您的方案的主要目的不是填写表格,而是添加一个城市。所以你应该换乘ThenAnd就行了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:之前的代码我没有测试,可能需要改进。

于 2013-08-20T08:50:37.203 回答