2015-01-25 1 views
1

У меня есть набор тестов на огурцы, работающих в Protractor on Chrome. Однако, когда я иду в Firefox, страница загружается, но Угловая не работает. Таким образом, вы можете видеть Angular tags {{ }} вместо значений и тест зависает, так как Angular никогда не завершается. Когда я вручную загружаю страницу или обновляю или делаю что-либо, страница работает. Запуск его из Protractor приводит к тому, что Angular не запускается в Firefox.
транспортир ConfigУгловое приложение не загружается должным образом в firefox при выполнении тестов на транспортир.

exports.config = { 
    framework: 'cucumber', 
    cucumberOpts: { 
     format: 'progress', 
//  tags: '@dev', 
     require: 'test/e2e/features/step_definitions/steps.js' 
    }, 
    specs: [ 
     'test/e2e/features/**/*.feature' 
    ], 



    //framework: 'mocha', 
    //specs: [ 
    // 'test/e2e/**/*.spec.js' 
    //], 
    //mochaOpts: { 
    // enableTimeouts: false 
    //}, 

    plugins: [{ 
     path: 'node_modules/protractor/plugins/timeline', 

     // Output json and html will go in this folder. 
     outdir: 'assets/timelines' 

     // Optional - if sauceUser and sauceKey are specified, logs from 
     // SauceLabs will also be parsed after test invocation. 
     //sauceUser: 'Jane', 
     //sauceKey: 'abcdefg' 
    }], 

    onPrepare: function() { 
     process.env.PORT = 3001 
     require('./server') 
    }, 

    capabilities: { 
     'browserName' : 'firefox' 
    } 
    // 
    //multiplecapabilities: [{ 
    // 'browserName' : 'firefox' 
    //}, { 
    // 'browserName' : 'chrome' 
    //}] 
} 

Огурец Характеристика файла

Feature: Login to my account 
    As a Customer, 
    I want to login into my account, 
    so I can use the application 

Scenario: Authorize access for an active and valid account 
Given I have a valid and active account 
And I am logged out of the system 
And I request to authenticate myself 
When I provide my credentials 
Then I should have access to my account 

@negative 
Scenario: Deny access for an invalid account 
Given I have an invalid account 
And I am logged out of the system 
And I request to authenticate myself 
When I provide my credentials 
Then I should be denied access to my account 

корнишона Шаг Определения

var db = require('../../../../db') 
var User = require('../../../../server/models/user') 
var bcrypt = require('bcrypt') 
var chai = require('chai') 
chai.use(require('chai-as-promised')) 
var expect = chai.expect 

var username = 'user'; 
var pass = 'pass' 

var steps = function() { 

    this.Given(/^I have a valid and active account$/, function (callback) { 
     db.connection.db.dropDatabase() 
     var user = new User({username: username}) 
     bcrypt.hash(pass, 10, function (err, hash) { 
      if (err) { 
       return next(err) 
      } 
      user.password = hash 
      user.save(function (err) { 
       if (err) { 
        return next(err) 
       } 
      }) 
      callback(); 
     }) 
    }); 

    this.Given(/^I am logged out of the system$/, function (callback) { 
     browser.get('http://localhost:3001') 
     expect(element(by.css('nav .login'))).to.exist; 
     callback(); 
    }); 

    this.Given(/^I request to authenticate myself$/, function (callback) { 
     element(by.css('nav .login')).click() // fill out and submit registration form ' + 
     callback(); 
    }); 

    this.When(/^I provide my credentials$/, function (callback) { 
     element(by.model('username')).sendKeys(username) 
     element(by.model('password')).sendKeys(pass) 
     element(by.css('form .btn')).click() // submit a new post on the posts page 
     callback(); 
    }); 

    this.Then(/^I should have access to my account$/, function (callback) { 
     // Write code here that turns the phrase above into concrete actions 
     callback.pending(); 
    }); 

    this.Given(/^I have an invalid account$/, function (callback) { 
     db.connection.db.dropDatabase() 
     callback(); 
    }); 

    this.Then(/^I should be denied access to my account$/, function (callback) { 
     // Write code here that turns the phrase above into concrete actions 
     callback.pending(); 
    }); 
}; 

module.exports = steps; 

ответ

Смежные вопросы