2014-06-22 28 views
5

Jestem całkowicie nowy w CodeCeption. Mam poniżej html wewnątrz ciała,seeInField znajduje element, a fillField nie - CodeCeption

<div><input type="text" name="content_id" id="contentId" maxlength="10" value="123"></div> 

W odbiorze CodeCeption mam to poniżej kod

`<?php 
$I = new AcceptanceTester($scenario); 
$I->wantTo('fillfield test'); 
$I->amOnPage('/'); 
$I->seeInField('#contentId', 123); 
$I->fillField('#contentId', 222397); 
?>` 

seeInField test przechodzi pomyślnie, ale fillField zgłasza błąd

Niestety, Nie mogłem wypełnić pola "#contentId", 222397
InvalidArgumentException: Aktualna lista węzłów jest pusta

To powstrzymuje mnie do dalszego postępowania. Pomóż mi w tej sprawie.

Odpowiedz

5

Wreszcie dostałem odpowiedź na moje własne pytanie. Do testowania użyłem modułu PhpBrowser, nie pozwoli on użytkownikowi na wypełnienie pól, które nie znajdują się w formularzu. I innych pasz one wymienione w Dokumentach są

Common PhpBrowser wady:

  1. można kliknąć na linki tylko z ważnych adresów URL lub przesyłania formularza przyciski
  2. Nie można wypełnić pola które nie są w formie
  3. Nie można pracować z interakcjami JavaScript: modalne okna, datepickery itd.,
+0

Jakie było Twoje rozwiązanie w zakresie korzystania z kodekceptorów w interakcjach JS? –

+0

Dzięki. Próbowałem wypełnić pola wprowadzania bez formularza. –