I created a test case selenium-mochathat Google will open, enter the text, and then click the search button. But I need to search 60 seconds after entering the text to search.
Test code snippet:
var assert = require('assert'),
test = require('selenium-webdriver/testing'),
webdriver = require('selenium-webdriver');
var urladd ='http://www.google.com/';
function clickLink(link){
link.click();
return link;
}
var testSimple=function(searchContent){
var browser = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();
test.describe('\n\nGoogle Search\n', function() {
this.timeout(60000);
test.it('Enter element to be searched', function(done) {
browser.get(urladd);
browser.findElement(webdriver.By.name('q')).sendKeys(searchContent);
browser.getTitle().then(function(title) {
assert.equal(title,'Google');
})
});
test.it('Click search button', function(done) {
setTimeout(function(){
browser.findElement(webdriver.By.name('btnG')).then(clickLink).then(function(){
browser.getTitle().then(function(title) {
assert.equal(title,'selenium mocha test cases - Google Search');
});
});
},30000);
});
});
}
testSimple('selenium mocha test cases');
I used setTimeoutto pause for 60 seconds, but mocha just passes the test case without executing the code for the timeout.
Console output:
Google Search
√ Enter element to be searched (7771ms)
√ Click search button
2 passing (8s)
Can anyone suggest a better solution for this (or any other APIs that can be used to pause the mocha test)?
source
share