Используя селен и мокко, я вхожу в две среды одного и того же приложения. Когда я запускаю тесты, хуки жизненного цикла beforeEach
и afterEach
не работают должным образом.
Я просто хочу, чтобы при вызове тесты проходили успешно, а хуки жизненного цикла открывались должным образом или в этом случае выходили после каждого теста.
Я настроил логин так:
let webdriver = require('selenium-webdriver'),
firefoxDriver = new webdriver.Builder().forBrowser('firefox').build(),
By = webdriver.By,
until = webdriver.until;
describe("Login to Dev and Staging", function(){
beforeEach(function(){
/* setTimeout(function(){
done();
}, 20000); */
firefoxDriver = new webdriver.Builder().forBrowser('firefox').build();
});
afterEach(function(){
firefoxDriver.quit();
});
it("Should successfully login to Dev", function(done){
let userInput = firefoxDriver.findElement(webdriver.By.id('loginPage:CommunitiesTemplate:loginForm:inputEmail')),
passwordInput = firefoxDriver.findElement(webdriver.By.id('loginPage:CommunitiesTemplate:loginForm:inputPassword')),
loginbutton = firefoxDriver.findElement(webdriver.By.id('loginPage:CommunitiesTemplate:loginForm:submit')),
devUser = '***********',
devPw = '*****';
firefoxDriver.get('****************');
userInput.sendKeys(devUser);
passwordInput.sendKeys(devPw);
loginbutton.click();
firefoxDriver.wait(until.titleIs('Guidecenter 2.0', done()));
});
it("Should successfully login to Staging", function(done){
let userInput = firefoxDriver.findElement(webdriver.By.id('loginPage:CommunitiesTemplate:loginForm:inputEmail')),
passwordInput = firefoxDriver.findElement(webdriver.By.id('loginPage:CommunitiesTemplate:loginForm:inputPassword')),
loginbutton = firefoxDriver.findElement(webdriver.By.id('loginPage:CommunitiesTemplate:loginForm:submit')),
stagingUser = '*********',
stagingPw = '**********';
firefoxDriver.get('************');
userInput.sendKeys(stagingUser);
passwordInput.sendKeys(stagingPw);
loginbutton.click();
firefoxDriver.wait(until.titleIs('Guidecenter 2.0', done()));
});
});
вызов quit после каждого теста производит:
UnhandledPromiseRejectionWarning: SessionNotCreatedError: Пытался выполнить команду без установления соединения
наблюдая за открытием браузера и выполнением команд, я могу сказать, что каждый экземпляр браузера закрывается до завершения входа в систему, поэтому закройте перед вызовом done () ....
Я думаю, что моя проблема либо в том, где я звоню, сделано (), либо в неправильном подходе.
Любая помощь приветствуется - Джон