量angular器与frisby API的集成

我正在尝试将frisby api与量angular器进行整合。

// An example configuration file. exports.config = { //seleniumAddress: 'http://localhost:4444/wd/hub', directConnect: true, // Capabilities to be passed to the webdriver instance. capabilities: { 'browserName': 'chrome' }, // Framework to use. Jasmine is recommended. framework: 'jasmine', // Spec patterns are relative to the current working directory when // protractor is called. specs: ['/usr/local/lib/node_modules/protractor/SpecFiles/frisby_global_spec.js'], // Options to be passed to Jasmine. jasmineNodeOpts: { defaultTimeoutInterval: 30000 } }; 

//规格文件

  var frisby = require('frisby'); var base_url = "https://www.distelli.com/docs/tutorials/test-your-nodejs-with-jasmine"; describe("Hello World Server", function() { it("first frisbytest", function () { frisby.create('GET JSON data from an endpoint') .get(base_url) .expectStatus(200) .expectHeader('Content-Type', 'application/json') .toss(); }); }); 

但我越来越低于错误

 Error: TypeError: Cannot read property 'prototype' of undefined at Object.<anonymous> (/usr/local/lib/node_modules/protractor/node_modules/frisby/lib/frisby.js:1125:17) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (/usr/local/lib/node_modules/protractor/node_modules/coffee-script/lib/coffee-script/register.js:45:36) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object.<anonymous> (/usr/local/lib/node_modules/protractor/SpecFiles/frisby_global_spec.js:1:14) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (/usr/local/lib/node_modules/protractor/node_modules/coffee-script/lib/coffee-script/register.js:45:36) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at /usr/local/lib/node_modules/protractor/node_modules/jasmine/lib/jasmine.js:84:5 at Array.forEach (native) at Jasmine.loadSpecs (/usr/local/lib/node_modules/protractor/node_modules/jasmine/lib/jasmine.js:83:18) at Jasmine.execute (/usr/local/lib/node_modules/protractor/node_modules/jasmine/lib/jasmine.js:176:8) at /usr/local/lib/node_modules/protractor/built/frameworks/jasmine.js:119:15 at Function.promise `enter code here`(/usr/local/lib/node_modules/protractor/node_modules/q/q.js:682:9) at /usr/local/lib/node_modules/protractor/built/frameworks/jasmine.js:91:14 at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:834:54) at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:863:30) at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:796:13) at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:556:49 at runSingle (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:137:13) at flush (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:125:13) at nextTickCallbackWith0Args (node.js:420:9) at process._tickCallback (node.js:349:13) [10:12:38] E/launcher - Process exited with error code 100 

我是新来的javascript testing.please让我知道是frisby API和量angular器集成可能与否。 如果是的话,你可以帮忙debugging这个问题吗?

你所观察到的错误是由于Protractor默认支持jasmine2,但是frisby目前与jasmine2不兼容,它现在只支持jasmine1,所以你不能使用量angular器的原生frisby组件。

解决方法:我最近设法将量angular器和frisby整合起来,因为jasmine2的支持已经到来了,现在有一个很好的工作,就是在frisby github repo的一个单独的PR和分支中提供这个。

你可以使用量angular器的frisby的一些function与这个工作,但全面支持即将推出!

所以你可以检查我的repo 量angular器frisby如何整合量angular器与frisby这个工作。

注意:目前只提供有限的支持,很快就会全面支持!