0

En Codeception le FillField fonctionne très bien quand j'ai <input type="text" name="email"> mais il ne fonctionne pas lorsque <input type="email" name="email">Comment obtenir WebGuy-> fillField pour <input type = "email"> dans le test d'acceptation de Codeception?

J'ai essayé avec le code suivant

$I->fillField('input[name=email]', '[email protected]'); 

aussi avec $I->fillField('email', '[email protected]'); Mais cela ne fonctionne pas. Je reçois l'erreur suivante.

ElementNotVisibleException: Element n'est pas visible

+0

BTW, je me sers WebDriver et Firefox – Jewel

Répondre

0

Je ne l'ai jamais testé sur le champ e-mail encore Si cela ne fonctionne pas, vous pouvez choisir des travaux contournements comme ci-dessous: -

(1) A l'aide JS

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

(2) en utilisant le code bas niveau WebDriver: -

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

Encore une fois, si vous avez des questions spécifiques Codeception, s'il vous plaît les élever here

J'espère que ça aide.

0

Je suis la réponse en fait, maintenant je peux cibler un élément de forme par XPATH sans courir executeInSelenium

donc en chrome/firefox j'inspectent le Royaume et le clic droit et copier le XPath,

comme exemple:
$I->fillField('//*[@id="register-form"]/fieldset/section[3]/div/div/label/input', '[email protected]');

et cela fonctionne très bien pour d'autres éléments de forme trop

Questions connexes