我在写我的贝哈特测试,我现在面临一个问题,当我尝试调用fillField上的引导模式里面输入。 当我在此输入硒发送fillField抛出异常的说法:
Element is not currently visible and so may not be interacted with
我手动创建硒(硒通过IDE)的测试,并呼吁同字段类型和它工作得很好。
$page = $this->getSession()->getPage()
$page->fillField("id_item", $value);
在$value
是从我的测试参数。 我试图调用一个函数来等待几秒钟,但它没有工作过。
更新:
场景:
Scenario: Realizar Pedido de Compra
Given I am on "/"
When I fill the form with "{\"id\": 1, \"items\":[{\"id_item\": 1}]}"
Then I should see "Ok"
我FeatureContext:
/**
* @When I fill the form with :arg1
*/
public function iFillForm($json) {
$formHelper = FormHelper::getInstance($this->getSession());
$formHelper->fill($json);
}
在我的课堂表单助手:
public function fill($json) {
$handler = new SelectorsHandler();
$handler->registerSelector("css", new CssSelector());
$fileJson = json_decode($json, true);
$page = $this->session->getPage();
foreach ($json as $key => $value) {
if (is_array($value)) {
$addSubGrid = $page->find("css", "#btn-plus-" . $key);
if ($addSubGrid != null) {
$subGrid = $page->find("css", "#" . $key);
$formId = $subGrid->getAttribute("data-form");
$ok = $page->find("css", "#$formId .btn-ok");
foreach ($value as $formItem) {
$itemFilled = array();
$addSubGrid->click();
$this->session->wait(
1000, "$('#modal-$formId').is(':visible')"
);
$this->fillForm($page, array("form-item" => $formItem), $itemFilled, false);
$ok->press();
}
}
} else {
$page->fillField($key, $value);
}
}
在$addSubGrid
VAR是显示模式的elment。 当我执行的测试打开模式,但是当它进入$page->fillField($key, $value)
这是行不通的。
UPDATE我发现,我是想填补一个无效字段。 我已经启用了它,现在的问题是,它没有填充模式中的字段,外面的人。