ловушка жизненного цикла и / или выполненная функция обратного вызова не работают должным образом - PullRequest
0 голосов
/ 29 августа 2018

Используя селен и мокко, я вхожу в две среды одного и того же приложения. Когда я запускаю тесты, хуки жизненного цикла 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 () ....

Я думаю, что моя проблема либо в том, где я звоню, сделано (), либо в неправильном подходе.

Любая помощь приветствуется - Джон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...