понедельник, 18 декабря 2017 г.

IT - AQA: Selenium+javascript: node.js - wotk with wait and assertion (updated)



Examples:
1)  Wait until element will shown:
const until = selenium.until;
driver.wait(until.elementLocated(locators.detailsGenresDropDown), 5000);

2) implicitlyWait() in javascript selenium bindings accepts a single argument - a timeout in milliseconds:
driver.manage().timeouts().implicitlyWait(20000);

3) page is loaded:
java:  driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
js: driver.manage().timeouts().pageLoadTimeout(10);

4) The code above makes browser wait for 5 seconds after clicking the button (+1).
driver.findElement(webdriver.By.name('btnCalculate')).click().then(function() {
    driver.sleep(5000);
});

If using webdriverJs (node.js),

5) What's the equivalent of Java's Thread.sleep() in JavaScript? (+1)
The simple answer is that there is no such function.
The closest thing you have is:
var millisecondsToWait = 500;
setTimeout(function() {
    // Whatever you want to do after the wait
}, millisecondsToWait);
Note that you especially don't want to busy-wait (e.g. in a spin loop), since your browser is almost certainly executing your JavaScript in a single-threaded environment.
Here are a couple of other SO questions that deal with threads in JavaScript:
And this question may also be helpful:
6) Just sleep for several seconds:// Page has been loaded, now go to sleep for a few seconds.
driver.sleep(3000); 
 

Assertion

Examples:

1)    client.getTitle().then(function(title) {
        assert.ok(title.indexOf('test — Яндекс: нашлось') > -1, 'Ничего не нашлось :(');
    });


Links
WebDriver: Advanced Usage - Explicit and Implicit Waits
Документация по Selenium.
Документация по WebDriver.js;
Черновик спецификации WebDriver API;
Webdriver selenium js docs

Комментариев нет:

Отправить комментарий

SEO: Эксперимент: как Яндекс и Google учитывают ключевые слова в URL

Эксперимент: как Яндекс и Google учитывают ключевые слова в URL Эксперимент: как Яндекс и Google учитывают ключевые слова в URL Дата пу...