Использование сна в тестах Ruby Watir - PullRequest
0 голосов
/ 21 декабря 2018

Мои приемочные тесты Watir, как правило, не проходят в тех случаях, когда я не использую функцию sleep Руби.Вот пример:

it 'Edit case: should edit display name of TEST' do
    all_row = @browser.trs(:css => ".ui-sortable-data-row")
    # note: this displays a detail view of the selected item of a table
    all_row[0].td.fire_event :click

    # click on edit button (activate edit mode)
    #sleep 1
    @browser.span(:css => "p-header a > span.fa-pen").fire_event :click

    # set name value
    @browser.text_field(:id => "name").set("test name")

    # ...
end

Если отсутствует вызов функции sleep 1 (сон в течение 1 секунды), тест завершится ошибкой со следующим сообщением:

Failure/Error: @browser.text_field(:id => "name").set("test name")

 Watir::Exception::ObjectDisabledException:
   element present, but timed out after 10 seconds, waiting for #<Watir::TextField: located: true; {:id=>"name", :tag_name=>"input"}> to be enabled

Однако,если я явно вызываю sleep 1, текстовое поле («имя») включено и может быть установлено.

Итак, мой вопрос: является ли использование функции sleep хорошей практикой или есть лучший способ избежать этих проблем?

...