如何在Codeception验收测试中获得<输入类型= "email" >的WebGuy->fillField?



在Codeception中,当我有<input type="text" name="email">,但在<input type="email" name="email"> 时不工作

我尝试了以下代码

$I->fillField('input[name=email]', 'user@domain.com');

也使用$I->fillField('email', 'user@domain.com'); 但它不起作用。我得到以下错误。

ElementNotVisibleException:元素当前不可见

我从未在电子邮件字段上测试过。如果它不起作用,你可以选择一些解决方案,如下所示:-

(1) 使用JS

$I->executeJS('window.document.getElementsByName('email')[0].value='###value###'');

(2) 使用低级别的网络驱动程序代码:-

$I->executeInSelenium(function (Webdriver $webdriver) {
    $webdriver->findElement('###XPATH###')->sendKeys(###value###);
});

同样,如果你遇到任何特定于Codeception的问题,请在这里提出

我希望它能有所帮助。

实际上我得到了答案,现在我可以通过XPATH瞄准任何表单元素,而无需运行executeInSlenium

因此,在chrome/ffirefox中,我检查dom并右键单击并复制xpath、

例如:
$I->fillField('//*[@id="register-form"]/fieldset/section[3]/div/div/label/input', 'user@domain');

它也适用于其他表单元素

相关内容

  • 没有找到相关文章

最新更新