2017-03-24 3 views
0

분지기 도우미를 사용하여 데이터 후크 속성에 액세스하려고합니다 (var helpers = require ('protractor-helpers')). 그러나 어떤 이유로 든 아래 오류가 발생합니다 :분도기 도우미 데이터 후크 속성 오류

[12:06:50] E/launcher - Error: ReferenceError: beforeEach is not defined 
    at C:\Users\xyz\node_modules\protractor-helpers\dist\protractor-helpers.js:258:2 
    at Object.<anonymous> (C:\Users\xyz\node_modules\protractor-helpers\dist\protractor-helpers.js:498:3) 
    at Module._compile (module.js:571:32) 
    at Object.Module._extensions..js (module.js:580:10) 
    at Module.load (module.js:488:32) 
    at tryModuleLoad (module.js:447:12) 
    at Function.Module._load (module.js:439:3) 
    at Module.require (module.js:498:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (C:\Users\xyz\ProtractorWorkspace\Protractor\pos\Test.js:11:15) 

내 conf.js 파일

exports.config = { 

    seleniumAddress: 'http://localhost:4444/wd/hub', 

    specs: [ 
    'features/sample.feature' 
    ], 

    capabilities: { 
    'browserName': 'chrome' 
    }, 

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

    cucumberOpts: { 
    require: 'features/*.js', 
    format: 'pretty' 
    } 

}; 

누군가가 도움을 주시기 바랍니다 수 아래로입니다. 들어

+0

소스 코드가 'beforeEach (function() {jasmine.addMatchers ({...}. 그것이 오이를 지원하는 것처럼 보이지 않지만, 나는 그것에 긍정적이지 않다. https://github.com/wix/protractor-helpers/blob/master/src/matchers.js – Gunderson

+0

시험을 볼 수 있습니까? – nilesh

+0

그것은 require 문에서 실패하고 있으며, 아래 코드 스 니펫이 있습니다. var clickFn = require ('../ common/ClickFunctions.js'); var SelectDropDown = require ('../ common/DropDownFunctions.js'); var helpers = require ('protractor-helpers'); var에 startQuote = 함수() { \t } – chandra

답변

0

If you are using protractor-jasmine framework(which is the default framework in protractor) you should use jasmine's hooks -beforeEach, beforeAll etc.

If you are using protractor-cucumber framework you should cucumberjs's hooks/event-handlers - beforeScenario, beforeFeature etc.

각도기 재스민 훅이 링크를 살펴 제발 - 당신이 protractor-cucumber-framework을 사용하고 있는지 내가 볼 jasmine hooks

를, 그래서 후크에 내장 된 cucumberjs을 사용하는 방법에 여기에 기록 될 것이다.

첫째, 각도기 - 오이 - 프레임 워크 모듈과 함께 프로젝트에 cucumberjs 노드 모듈이 필요합니다. npm install -D cucumber (저는 dev-dependency로 선호합니다)

오이의 현재 버전은 2.0 (rc-8)이며, 구문은 이전 버전과 완전히 다릅니다. cucumber hooks

당신은 더 많은 예제 내 환매 특약의 체크 아웃 할 수 - 당신은 전체 목록의 예 여기 후크를 찾을 수

/* Cucumber 2.0 syntax **/ 

var {defineSupportCode} = require('cucumber'); 

defineSupportCode(function({Before}) { 

Before(function() { 
browser.get(url); 
}); 

// You can also specify cucumber tags for scenarios, This hook will be executed before scenarios tagged with @foo 
Before({tags: "@foo"}, function() { 
browser.get(url) 
}); 
}); 

- 당신이 모든 시나리오 전에 브라우저 URL을 실행하려면이 같이해야 할 것이다 그래서 -

+0

덕분에 램은 도움을하지만, 그것은 DOM에서 데이터 훅 속성에 대한되는 오이 후크를 reagarding되지 않은, 참조하시기 바랍니다 DOM의 콘텐츠 – chandra

+0

감사 램 아래의 도움말,하지만 그것은 오이 후크에 관한 아니 었어, DOM에서 데이터 후크 특성에 관한, 아래의 선택 태그가있는 DOM 콘텐츠를 참조하십시오, 나는 요소 (by.dataHook ('sometext'))로 선택하고 싶습니다. click() '은 아래 링크에서 npm 패키지'protractor-helpers '를 사용해야하지만'var helper '코드가 발생하면 오류가 발생합니다. https://www.npmjs.com/package/protractor-helpers <선택 클래스 = "CUI - 드롭 다운 CUI - 드롭 다운 - 짧은 NG-자연 그대로의 NG-유효 CUI-폼 field__control 겨 비어 ng- touched "data-hook ="quoting.finance.product "> – chandra

+0

by가있는 요소 찾기 도구가 없습니다.dataHook' 대신 이러한 요소를 찾으려면 CSS 선택기를 사용해야합니다. '('data-hook = "quoting.finance.product"] '))). click()'을 선택하면'by.cssContainingText'를 사용할 수도있다. protractor에 attrubutes를 선택하십시오 - http://stackoverflow.com/questions/19599450/how-to-select-option-in-drop-down-protractorjs-e2e-tests –