2015-11-24 3 views
1

Я пишу приемочное испытание для формы. Тест проверяет флажок, проверяет, установлен ли флажок, и отменяет его.Codeception uncheckOption() не работает

Так у меня есть следующий фрагмент кода, на мой взгляд:

<form> 
    <div class="checkbox"> 
    <label for="agree"></label> 
    <input type="checkbox" id="agree" name="agree">Agree to the conditions! 
    </div> 
</form> 

и в моем приемочного испытания я делаю:

/* works */ 
$I->seeElement('#agree'); 
$I->dontSeeCheckboxIsChecked('#agree'); 
$I->checkOption('#agree'); 
$I->seeCheckboxIsChecked('#agree'); 
/* This does not work?*/ 
$I->uncheckOption('#agree'); 
$I->cantSeeCheckboxIsChecked('#agree'); 

Я использую драйвер PhpBrowser, как я не мог получить WebDriver драйвер для работы за корпоративным межсетевым экраном.

В то время как seeElement и seeCheckboxIsChecked подтверждают, что флажок установлен и отмечен, следующее uncheckOption не получается.

Выход из теста:

2) Failed to check checkbox in WelcomeCept (tests\functional\\WelcomeCept.php) 

Step I can dont see checkbox is checked "#agree" 
Fail Failed asserting that 1 matches expected 0. 

Scenario Steps: 

    11. $I->canDontSeeCheckboxIsChecked("#agree") at tests\functional\WelcomeCept.php:18 
    10. $I->uncheckOption("#agree") at tests\functional\WelcomeCept.php:17 
    9. $I->seeCheckboxIsChecked("#agree") at tests\functional\WelcomeCept.php:15 
    8. $I->checkOption("#agree") at tests\functional\WelcomeCept.php:14 
    7. $I->dontSeeCheckboxIsChecked("#agree") at tests\functional\WelcomeCept.php:13 
    6. $I->seeElement("#agree") at tests\functional\WelcomeCept.php:12 

FYI Я использую рамки Phalcon и его Volt шаблонизатор и страница правильно ведет себя в браузере.

Любая помощь приветствуется.

ответ

1

uncheckOptions работает, проблема в том, что проверки CheckboxIsChecked проверяют источник страницы, а не значения формы, установленные тестом.

https://github.com/Codeception/Codeception/issues/2355#issuecomment-139166355

в $ I-> dontSeeCheckboxIsChecked() метод работает запрос XPATH против сгенерированного HTML и ищет проверяемый атрибут элемента ввода вы укажете.

+0

Спасибо. Наконец, я получил модуль Webdriver (пришлось отключить переменные среды прокси-сервера), и теперь этот вид теста возможен. – dev0

Смежные вопросы