2015-06-04 3 views
0

Есть ли шаблон с текущей библиотекой 2.0, которая позволила бы мне подождать, пока название текущей страницы не будет X? Чтобы приостановить работу WebDriver до тех пор, пока я не нахожусь на странице, я хочу быть после нескольких переадресаций?WebDriverIO: waitFor <title> быть X

Это было бы легко, если бы я мог сделать driver.waitFor('title:contains("Google")');

ответ

0

Преодолей себя и ваших CSS селекторов. Если у вас есть сомнения, просто используйте XPATH.

driver.waitFor('//title[text() = "Google"]');

1

WebDriver 3.0 теперь имеет функцию waitUntil, что вы могли бы использовать для достижения этой цели. http://webdriver.io/api/utility/waitUntil.html

driver.waitUntil(function() { 
    return this.getTitle().then(function(title) { 
    if(title === 'Google') { 
     return true; 
    } 
    }); 
}); 
0

С WebDriver 3.0+ вы можете также добавить браузер custom command где-то в модуле общей для всех ваших тестов:

browser.addCommand('waitForTitle', function (title, timeout) { 
    browser.waitUntil(function() { 
     return browser.getTitle() === title; 
    }, timeout | 3000); 
}); 

Затем вызовите его из тестировать код:

it('should navigate to login page', function() { 
    browser.click('.login-button'); 
    browser.waitForTitle('Login'); 
});