在AngularJS中使用chance.js结束测试

时间:2014-12-19 17:48:17

标签: angularjs protractor

我正在尝试为我的e2e测试生成一些随机数据。似乎我找到的唯一的库是chance.js。但不能使它有效。这是我到目前为止所尝试的:

describe('In the login page', function () {
  var chance = new Chance(); // ReferenceError: Chance is not defined

}

然后添加

beforeEach(function(){

        browser.executeScript(
            function() {
                return chance;
            }).then(function(_chance){
                chance = _chance; //It returns an object, but can't use any of the methods.

            });
        });

但如果我尝试

beforeEach(function(){

        browser.executeScript(
            function() {
                return chance.email(); //Note this line here
            }).then(function(_chance){
                chance = _chance; //It returns an email

            });
        });

到目前为止我所拥有的一切......任何线索/想法?

3 个答案:

答案 0 :(得分:3)

首先,在项目中安装chance.js:

npm install chance --save-dev

这会将chance.js安装为项目中的节点模块。然后将其包含在您的规范中并实例化:

var chance = require('../node_modules/chance').Chance();

然后调用您的规范。例如:

it('should add a new friend', function() {
    var friendName = chance.string()
    friendPage.addFriend(friendName);

    expect(friendPage.inResults(friendName)).toBeTruthy();
});

希望有帮助...

答案 1 :(得分:0)

  1. 好的,首先你需要下载chance.js并将该文件添加到你的html目录
  2. 第二步将脚本src =“chance.js”添加到适当的脚本标记中
  3. 在另一个脚本标记内,您应该能够使用网站上列出的任何功能
  4. 工作jsfiddle:http://jsfiddle.net/c96x2cpa/

    小提琴js代码:

    alert(chance.bool());
    alert(chance.character());
    alert(chance.floating());
    

答案 2 :(得分:0)

最后很容易:)

您只需安装机会作为节点模块。

npm install chance

然后需要规范中的节点

// Load Chance
var Chance = require('chance');

并在任何你想要的地方使用

chance.email()

享受!