Ich versuche zu lernen, meine Web-Anwendungen mit browserstack zu testen. Ich bin mit ihrem Beispiel von ihrer WebsiteWie kann man einen richtigen Test mit Browserstack, Selen und Mokka durchführen?
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(); });
});
und es gibt mir diesen Eingang
Google Search 1) "vor allem" Haken
0 vorbei (2s) 1 Fehler
1) Google-Suche "vor allem" Hook: Fehler: Timeout von 2000ms überschritten. Stellen Sie sicher, dass der Rückruf done() in diesem Test aufgerufen wird.
Ich habe versucht, meinen eigenen Test
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();
})
});
})
und es gibt mir diese Ausgabe
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.
Wenn ich Kommentar driver.get es funktioniert ok ... aber ich irgendwie muss es laufen ..
Also wie kann ich einen Funktionstest machen? Ich kann nichts auf Google finden.
Was ist, wenn Sie auf BrowserStack eine Sitzung zu starten verwenden den gleichen allgemeinen Code, sondern geschieht, Sie einen lokalen Browser ausführen? Funktioniert es? – Louis
Wenn ich lokal laufe, macht es das gleiche. und der Test wurde beendet, bevor der Browser geöffnet wurde – John