Grunt를 통한 Yooman과의 통합
나는 Yeoman이 제작한 비계에 Protractor를 통합하고 싶다.튜토리얼을 따라 했더니 나이 든 사람이scenario-runner
e2e 테스트 셋업에 사용되었습니다(voice,grunt
).
발판을 업그레이드하고 대신 익트랙터를 사용하고 싶습니다.
무슨 생각 있어?
설치하다
protractor
그리고.grunt-protractor-runner
부터npm
:npm install protractor grunt-protractor-runner --save-dev
프로젝터 설정 파일 작성(
protractor.conf.js
변경하다specs
그리고.baseUrl
테스트 파일 및 테스트 서버로 전송:exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', specs: ['test/e2e/*_test.js'], baseUrl: 'http://localhost:9001' //default test port with Yeoman }
의 갱신
Gruntfile.js
카르마 태스크 뒤에 다음 항목을 추가합니다.protractor: { options: { keepAlive: true, configFile: "protractor.conf.js" }, run: {} }
테스트 대상 견인기 작업 추가
grunt.registerTask('test', [ 'clean:server', 'concurrent:test', 'autoprefixer', 'connect:test', 'karma', 'protractor:run' ]);
셀레늄 서버를 다운로드하여 기동합니다.
node_modules/protractor/bin/webdriver-manager update node_modules/protractor/bin/webdriver-manager start
(Windows의 경우:)
node node_modules/protractor/bin/webdriver-manager update node node_modules/protractor/bin/webdriver-manager start
의 갱신
package.json
, 다음에 다음을 추가합니다."devDependencies"
이 명령어는 다음 시간 후에 실행됩니다.npm install
매번 기억할 필요는 없어요."scripts": { "install": "node node_modules/protractor/bin/webdriver-manager update" }
Grunt를 사용하여 테스트 실행
grunt test
프로젝터로 서버를 기동할 수 있도록 하려면 , 다음의 순서에 따릅니다.
seleniumAddress: 'http://localhost:4444/wd/hub',
부터protractor.conf.js
, 그 후 실행grunt test
는 테스트 중에 스탠드아론 셀레늄 인스턴스를 시작하고 테스트 스위트를 실행한 후 종료합니다.
기존 답변에 추가할 사항 중 하나는 Selenium 서버를 자동으로 부팅하는 경우 Selenium ServerJar 및 chromeDriver(크롬을 사용하는 경우)의 위치도 지정해야 합니다.그렇지 않으면 Selenium 서버를 수동으로 부팅할 때까지 테스트는 실행되지 않습니다(lin 명령에서 "webdriver-manager update"를 실행해야 합니다).e처음):
protractor: {
options: {
keepAlive: false,
configFile: "test/config/protractor.conf.js",
noColor: true, // If true, protractor will not use colors in its output.
args: {
seleniumServerJar: 'node_modules/protractor/selenium/selenium-server-standalone-2.39.0.jar',
chromeDriver: 'node_modules/protractor/selenium/chromedriver.exe'
}
},
run: {
}
},
@user2172816이 답변에서 언급한 바와 같이 생략seleniumAddress: 'http://localhost:4444/wd/hub'
는 보통 프로젝터 구성에서 Selenium 인스턴스를 시작합니다.
또는 grunt-protractor-webdriver를 사용하여 Selenium을 시작할 수도 있습니다.
1) Grunt-Protractor-Webdriver 설치 및 저장
npm install grunt-protractor-webdriver --save-dev
2) Grunt 정의 함수에 다음 항목을 추가합니다.
grunt.loadNpmTasks('grunt-protractor-webdriver');
3) 다음 예제의 프로젝터 웹 드라이버 작업을 추가합니다.
protractor_webdriver: {
start: {
options: {
path: 'node_modules/protractor/bin/',
command: 'webdriver-manager start'
}
}
}
4) 추가protractor_webdriver
고객님께test
작업을 수행해야 합니다(예:
grunt.registerTask('test', [
'clean:server',
'concurrent:test',
'autoprefixer',
'connect:test',
'karma',
'protractor_webdriver',
'protractor:run'
]);
언급URL : https://stackoverflow.com/questions/19066747/integrating-protractor-with-yeoman-via-grunt
'prosource' 카테고리의 다른 글
AngularJS: 원래 배열에서 필터링된 값의 인덱스 위치를 찾습니다. (0) | 2023.02.16 |
---|---|
plugin_dir_path(_FILE__)와 __DIR__의 차이점 (0) | 2023.02.16 |
같은 슬러그의 커스텀 포스트 같은 슬러그의 잘못된 포스트로 리다이렉트 (0) | 2023.02.16 |
Python json.dumps()는 최소화된 json을 출력합니다. (0) | 2023.02.16 |
Angular JS - 새로 고침 ng 반복 (0) | 2023.02.16 |