2017-08-16 127 views
2

朋友你好我測試我的角度用量角器和黃瓜的js,但它給我這個錯誤我嘗試對這個問題的幾個解決方案,但沒有一個人能解決我的issue.if 2的應用程序你知道任何溶膠將是巨大的感謝ü..用量角器黃瓜框架測試它給這個錯誤

[1]未處理拒絕類型錯誤:this.registerHandler不是一個函數 [1] Object.registerHandlers(/家/ CA1/WebstormProjects/DME/node_modules /量角器cucumber-framework/lib/resultsCapturer.js:16:8) [1] at /home/ca1/WebstormProjects/DME/node_modules/protractor-cucumber-framework/lib/resultsCapturer.js:6:22 [1] ]在Object.defineSupportCode(/ home/ca1/WebstormProjects/DME/node_modules/cucumber/src /support_code_library_builder/index.js:20:9) [1]在Object。 (/home/ca1/WebstormProjects/DME/node_modules/protractor-cucumber-framework/lib/resultsCapturer.js:5:12) [1] at Module._compile(module.js:570:32) [1] at Object.Module._extensions..js(module.js:579:10) [1] at Module.load(module.js:487:32) [1] at tryModuleLoad(module.js:446:12) [1]在Function.Module._load(module.js:438:3) [1]在Module.require(module.js:497:17) [1]在需要(內部/ module.js:20: 19) [1] at /home/ca1/WebstormProjects/DME/node_modules/cucumber/src/cli/index.js:61:42 [1] at Array.forEach(native) [1] at Cli.getSupportCodeLibrary (/home/ca1/WebstormProjects/DME/node_modules/cucumber/src/cli/index.js:61:22) [1]在Cli。 (/home/ca1/WebstormProjects/DME/node_modules/cucumber/src/cli/index.js:76:37) [1]在接下來的(天然的) [1] [17時30分50秒] E /發射器 - BUG:1個任務剩餘

這裏啓動退出是我的package.json

{ 
    "name": "dpt-angular", 
    "version": "1.0.0", 
    "description": "QuickStart package.json from the documentation, supplemented with testing support", 
    "scripts": { 
    "start": "concurrently \"npm run tsc:w\" \"npm run lite\" ", 
    "e2e": "concurrently \"http-server -s\" \"protractor protractor.config.js\" --kill-others --success first", 
    "lint": "tslint ./app/**/*.ts -t verbose", 
    "lite": "lite-server", 
    "pree2e": "webdriver-manager update", 
    "test": "concurrently \"tsc -w\" \"karma start karma.conf.js\"", 
    "test-once": "karma start karma.conf.js --single-run", 
    "tsc": "tsc", 
    "tsc:w": "tsc -w" 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "MIT", 
    "dependencies": { 
    "@angular/common": "~2.4.0", 
    "@angular/compiler": "~2.4.0", 
    "@angular/core": "~2.4.0", 
    "@angular/forms": "~2.4.0", 
    "@angular/http": "~2.4.0", 
    "@angular/platform-browser": "~2.4.0", 
    "@angular/platform-browser-dynamic": "~2.4.0", 
    "@angular/router": "~3.4.0", 
    "@types/file-saver": "0.0.1", 
    "angular-in-memory-web-api": "~0.2.4", 
    "angular2-moment": "^1.1.0", 
    "core-js": "^2.4.1", 
    "mydatepicker": "^2.0.25", 
    "ng2-completer": "^1.5.2", 
    "ng2-file-upload": "^1.2.1", 
    "ng2-pdf-viewer": "^1.1.0", 
    "rxjs": "5.0.1", 
    "systemjs": "0.19.40", 
    "zone.js": "^0.7.4" 
    }, 
    "devDependencies": { 
    "@types/jasmine": "^2.5.36", 
    "@types/node": "^6.0.46", 
    "canonical-path": "0.0.2", 
    "concurrently": "^3.1.0", 
    "cucumber": "^3.0.0", 
    "cucumber-tsflow": "^2.2.0", 
    "http-server": "^0.9.0", 
    "jasmine-core": "~2.4.1", 
    "karma": "^1.3.0", 
    "karma-chrome-launcher": "^2.0.0", 
    "karma-cli": "^1.0.1", 
    "karma-jasmine": "^1.0.2", 
    "karma-jasmine-html-reporter": "^0.2.2", 
    "lite-server": "^2.2.2", 
    "lodash": "^4.16.4", 
    "protractor": "^4.0.14", 
    "protractor-cucumber-framework": "^3.0.0", 
    "rimraf": "^2.5.4", 
    "ts-node": "^3.3.0", 
    "tslint": "^3.15.1", 
    "typescript": "~2.3.4", 
    "webdriver-manager": "^12.0.6" 
    }, 
    "repository": {} 
} 

和我protractor.conf.json

var fs = require('fs'); 
var path = require('canonical-path'); 
var _ = require('lodash'); 


exports.config = { 
    directConnect: true, 

    // Capabilities to be passed to the webdriver instance. 
    capabilities: { 
    'browserName': 'chrome' 
    }, 

    allScriptsTimeout:90000, 
    getPageTimeout:400000, 
    ignoreUncaughtExceptions: true, 
    framework: 'custom', 

    frameworkPath: require.resolve('protractor-cucumber-framework'), 

    // Spec patterns are relative to this config file 
    specs: ['**/cucumber_test/*.feature' ], 

    cucumberOpts: { 
     compiler: "ts:ts-node/register", 
     require: ['**/*e2e-spec.js'], // require step definition files before executing features 
     tags: '@TypeScriptScenario,@dev,@AddScenario,@SubtractScenario,@MultiplyScenario,@DivideScenario,@ModulusScenario',      // <string[]> (expression) only execute the features or scenarios with tags matching the expression 
     strict: true,     // <boolean> fail if there are any undefined or pending steps 
     format: ["pretty"],   // <string[]> (type[:path]) specify the output format, optionally supply PATH to redirect formatter output (repeatable) 
     dryRun: false,     // <boolean> invoke formatters without executing steps 
     'fail-fast': true 
    }, 


    // For angular tests 
    useAllAngular2AppRoots: true, 

    // Base URL for application server 
    baseUrl: 'http://localhost:3000', 

    // doesn't seem to work. 
    // resultJsonOutputFile: "foo.json", 

    onPrepare: function() { 
    //// SpecReporter 
    //var SpecReporter = require('jasmine-spec-reporter'); 
    //jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: 'none'})); 
    //// jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: 'all'})); 

    // debugging 
    // console.log('browser.params:' + JSON.stringify(browser.params)); 
    /*jasmine.getEnv().addReporter(new Reporter(browser.params)) ;*/ 

    // Allow changing bootstrap mode to NG1 for upgrade tests 
    global.setProtractorToNg1Mode = function() { 
     browser.useAllAngular2AppRoots = false; 
     browser.rootEl = 'body'; 
    }; 
    // browser.manage().window().maximize(); 
    }, 

    /*jasmineNodeOpts: { 
    // defaultTimeoutInterval: 60000, 
    defaultTimeoutInterval: 10000, 
    showTiming: true, 
    print: function() {} 
    }*/ 
} 

回答

0

這個問題就解決了剛剛降級的黃瓜第3版到2.