Я пытаюсь научиться тестировать свои веб-приложения с помощью браузера. Я бег их пример с их сайтаКак сделать правильный тест с помощью браузера, селена и мокко?
var assert = require('assert'),
fs = require('fs');
var webdriver = require('selenium-webdriver')
test = require('selenium-webdriver/testing');
test.describe('Google Search', function() {
var driver, server;
test.before(function() {
var capabilities = {
'browserName' : 'firefox',
'browserstack.user' : 'my username',
'browserstack.key' : 'my key'
}
driver = new webdriver.Builder().
usingServer('http://hub-cloud.browserstack.com/wd/hub').
withCapabilities(capabilities).
build();
});
test.it('should append query to title', function() {
driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('BrowserStack');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return 'BrowserStack - Google Search' === title;
});
}, 1000);
});
test.after(function() { driver.quit(); });
});
и это дает мне этот вход
Google Search 1) "перед всем" крюком
0 попутная (2s) 1 неудача
1) Поиск в Google «до всех»: Ошибка: превышен превышение 2000 мс. Убедитесь, что в этом тесте вызывается обратный вызов done().
Я попытался запустить мой собственный тест
var assert = require('assert');
var fs = require('fs');
var webdriver = require('selenium-webdriver');
describe('Google Search', function(){
var driver;
var server;
var capabilities = {
'browserName' : 'firefox',
'browserstack.user' : 'myuser',
'browserstack.key' : 'mykey'
}
before(function(done){
driver = new webdriver.Builder()
.usingServer('http://hub-cloud.browserstack.com/wd/hub')
.withCapabilities(capabilities)
.build();
done();
});
after(function(){
driver.quit();
});
describe('Here we go', function(){
it('Should do something', function(done){
driver.get('http://www.google.ro').then(done);
// done();
})
});
})
и это дает мне этот выход
Google Search
Here we go
1) Should do something
0 passing (2s)
1 failing
1) Google Search Here we go Should do something:
Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.
Когда я комментирую driver.get это работает нормально ... но я вроде это нужно ..
Так как я могу сделать функциональный тест? Я ничего не могу найти в google ..
Что произойдет, если вы используете один и тот же общий код, но вместо того, чтобы начать сеанс на BrowserStack, вы запустить локальный браузер? Это работает? – Louis
если я запускаю локально, он делает то же самое. и тест закончен прямо перед открытием браузера – John