2014-12-19 4 views
3

Я пытаюсь сгенерировать некоторые случайные данные для моих тестов e2e. Кажется, что единственная библиотека, которую я нашел, была chance.js. Но не может заставить его работать. Это то, что я пытался до сих пор:Использование chance.js внутри тестов AngularJS от конца до конца

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 

      }); 
     }); 

Thats все, что я до сих пор ... любой ключ/идея ?

+0

У вас есть шанс.js в теге скрипта перед вашими испытаниями? – Pseudonym

ответ

0
  1. Хорошо сначала нужно скачать chance.js и добавить этот файл в HTML каталог
  2. Второго добавить скрипта SRC = «chance.js» в соответствующем теге сценария вашего раздел
  3. В другом тег скрипта, вы должны быть в состоянии использовать любой из функций, которые перечислены на веб-сайте

работает jsfiddle: http://jsfiddle.net/c96x2cpa/

скрипку код расслоение плотной:

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

Спасибо, но это не отвечает на мой вопрос. Использование random.in на обычной странице не является проблемой. На самом деле проблема заключается в том, чтобы использовать его в тестах транспортиратора (angularjs/e2e). – Mustela

+0

Oooooh okay, sorry misunderstood – Pseudonym

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(); 
}); 

Надежда, что помогает ...

+0

О, простите, я не видел вашего ответа, пока не разместил свой. Спасибо, в любом случае! – Mustela

0

Это было легко в конце :)

Вам просто нужно установить возможность в качестве узлового модуля.

npm install chance 

Затем требуется узел в спецификации

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

И использовать его там, где когда-либо вы хотите

chance.email() 

Наслаждайтесь!

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