ile Webdriver testlerini çalıştırma Merhaba Selenium-webdriver'den yararlanan tepki uygulamam için mocha testleri yazmaya çalışıyorum.Önceden yapılandırılmış ChromeDriver hizmeti hala çalışıyor/Grunt
Birkaç sorum var ama bunların ilerisinde yardımcı olabilmek için yardımcı olacaklar. Her şeyden
Birincisi, ideal olarak, ben onlar koşmak hangi sırayla umurumda değil çünkü benim farklı testler arasında aynı webdriver oturumları paylaşmak istiyorum. Sadece bir kez web sayfasını yüklemek, tüm testleri çalıştırmak ve daha sonra web sayfasını kapatmak istiyorum. Mümkün mü? İlk önce ve sonra bir tanımın dışında farklı bir dosyada durumlarımı koydum ve iyi çalışıyordu ... ama daha sonra test dosyalarının herhangi birinde sürücünün örneğine erişemedim.
: Aynı oturumu paylaşımı mümkün değilse$ grunt test-e2e Running "mochatest:e2e" (mochatest) task Running Mocha tests on files /Users/userName/Desktop/myReactApp/tests/e2e/testSpecOne.js /Users/userName/Desktop/myReactApp/tests/e2e/testSpecTwo.js Error: The previously configured ChromeDriver service is still running. You must shut it down before you may adjust its configuration. at Error (native) at Object.setDefaultService (/Users/userName/Desktop/myReactApp/node_modules/selenium-webdriver/chrome.js:264:11) at Object.<anonymous> (/Users/userName/Desktop/myReactApp/tests/e2e/testSpecTwo.js:8:8) at Module._compile (module.js:556:32) at loader (/Users/userName/Desktop/myReactApp/node_modules/babel-register/lib/node.js:144:5) at Object.require.extensions.(anonymous function) [as .js] (/Users/userName/Desktop/myReactApp/node_modules/babel-register/lib/node.js:154:7) at Module.load (module.js:473:32) at tryModuleLoad (module.js:432:12)
sonra nasıl İşte
tipik bir test şu şekildedir: Ben bu testler conf çalıştırmak için bir hırıltı-mocha-testi kullanıyorum
import assert from 'assert';
import test from 'selenium-webdriver/testing';
import webdriver, {By, until} from 'selenium-webdriver';
import chrome from 'selenium-webdriver/chrome';
import chromedriver from 'chromedriver';
import helpers from './helpers.js';
chrome.setDefaultService(new chrome.ServiceBuilder(chromedriver.path).build());
test.describe('Main page',() => {
let driver = new webdriver
.Builder()
.withCapabilities(webdriver.Capabilities.chrome())
.build();
test.before(() => {
helpers.launchTheApp(driver, 'http://localhost:8000/myApp', 'elementOne', 10000);
});
test.after(() => {
helpers.closeTheApp(driver);
})
test.it('Test some items appear',() => {
helpers.checkIfElementIsPresent(driver, By.className, 'elementOne');
helpers.checkIfElementIsPresent(driver, By.className, 'elementTwo');
helpers.checkIfElementIsPresent(driver, By.className, 'elementThree');
});
});
Bu
e2e:{
options: {
timeout: 3000000,
ignoreLeaks: true,
ui: 'bdd',
run: true,
log: true,
reporter: typeof process.env.FUSION_BUILD_GENERATED === 'undefined' ? 'spec' : 'xunit-file',
grep: grunt.option('grep')
},
src: ['tests/e2e/**/**/*Spec.js']
}