Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 量角器与frisby API的集成_Javascript_Node.js_Jasmine_Protractor - Fatal编程技术网

Javascript 量角器与frisby API的集成

Javascript 量角器与frisby API的集成,javascript,node.js,jasmine,protractor,Javascript,Node.js,Jasmine,Protractor,我正在尝试将frisby api与量角器集成 // An example configuration file. exports.config = { //seleniumAddress: 'http://localhost:4444/wd/hub', directConnect: true, // Capabilities to be passed to the webdriver instance. capabilities: { 'browserName'

我正在尝试将frisby api与量角器集成

    // 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
错误:TypeError:无法读取未定义的属性“prototype”
反对。(/usr/local/lib/node_modules/progrator/node_modules/frisby/lib/frisby.js:1125:17)
在模块处编译(Module.js:409:26)
在Object.Module.\u extensions..js(Module.js:416:10)
在Module.load(/usr/local/lib/node_modules/dragrator/node_modules/coffee script/lib/coffee script/register.js:45:36)
在Function.Module.\u加载(Module.js:300:12)
at Module.require(Module.js:353:17)
根据需要(内部/module.js:12:17)
反对。(/usr/local/lib/node_modules/dragrator/SpecFiles/frisby_global_spec.js:1:14)
在模块处编译(Module.js:409:26)
在Object.Module.\u extensions..js(Module.js:416:10)
在Module.load(/usr/local/lib/node_modules/dragrator/node_modules/coffee script/lib/coffee script/register.js:45:36)
在Function.Module.\u加载(Module.js:300:12)
at Module.require(Module.js:353:17)
根据需要(内部/module.js:12:17)
at/usr/local/lib/node_modules/dragrator/node_modules/jasmine/lib/jasmine.js:84:5
at Array.forEach(本机)
在Jasmine.loadSpecs(/usr/local/lib/node_modules/dragrator/node_modules/Jasmine/lib/Jasmine.js:83:18)
在Jasmine.execute(/usr/local/lib/node_modules/dragrator/node_modules/Jasmine/lib/Jasmine.js:176:8)
at/usr/local/lib/node_modules/dragrator/build/frameworks/jasmine.js:119:15
在Function.promise`此处输入代码'(/usr/local/lib/node_modules/progrator/node_modules/q/q.js:682:9)
at/usr/local/lib/node_modules/dragrator/build/frameworks/jasmine.js:91:14
完成时(/usr/local/lib/node\u modules/granter/node\u modules/q/q.js:834:54)
在self.promiseDispatch.done(/usr/local/lib/node_modules/dragrator/node_modules/q/q.js:863:30)
在Promise.Promise.dispatch(/usr/local/lib/node_modules/progrator/node_modules/q/q.js:796:13)
at/usr/local/lib/node_modules/progrator/node_modules/q/q.js:556:49
在runSingle(/usr/local/lib/node_modules/progrator/node_modules/q/q.js:137:13)
刷新时(/usr/local/lib/node_modules/gradutor/node_modules/q/q.js:125:13)
在下一个TTickCallbackwith0args(node.js:420:9)
在进程中调用(node.js:349:13)
[10:12:38]E/启动器-进程退出,错误代码为100

我是javascript测试新手。请告诉我它是否可能与frisby api和量角器集成。如果是,您能否帮助调试该问题

您观察到的错误是由于量角器默认支持jasmine2,但frisby目前与jasmine2不兼容,它目前只支持jasmine1,因此您不能将本机frisby组件与量角器一起使用

    // 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
  }

};
解决方法:我最近成功地将量角器与frisby集成在一起,因为jasmine2正在为它提供支持,目前在frisby github repo的一个单独的PR和分支中提供了这方面的良好工作

你可以使用一些功能的飞盘与量角器与这项工作,但全面的支持将很快到来

所以你可以检查我的回购-关于如何整合量角器与飞盘与这项工作

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