2013-09-24 3 views
0

Я пишу приемочные тесты для своего приложения php с помощью Behat/Mink и обнаружил странную вещь: Behat не может найти поле ввода, когда javascript включен, в то время как он находит то же поле, когда javascript отключен.не удается с javascript, но не удается

Чтобы быть точным: следующий сценарий

Scenario: adding article keywords, no javascript used 
Given I am on "articles/create" 
When I fill in "Articles[title]" with "About all properties" 
... 

проходит отлично. Но как только я добавить теги JavaScript к вышеуказанному сценарию

@javascript  
Scenario: adding article keywords 
Given I am on "articles/create" 
When I fill in "Articles[title]" with "About all properties" 

начинает терпеть неудачу:

When I fill in "Articles[title]" with "About all properties" 
# FeatureContext::fillField() 
Form field with id|name|label|value "Articles[title]" not found. 

Что может быть причиной?

ответ

1

@javascript будет запускать вашу функцию с помощью драйвера Selenium. Селен может занять некоторое время, чтобы загрузить страницу, вы можете попробовать добавить шаг «Я жду ...» сразу после «Я нахожусь ...» , Надеюсь, это просто DOM, требующая времени для загрузки.

@javascript  
Scenario: adding article keywords 
Given I am on "articles/create" 
Then I wait 1000 
When I fill in "Articles[title]" with "About all properties" 
+0

спасибо большое! Это сработало! Мне нужно было только отрегулировать шаг следующим образом: ** Затем я жду 5 секунд **. – Andrew

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