protractor testing tool
각도기는 무엇입니까?
Protractor는 웹 애플리케이션 테스트를위한 자동화 테스트 도구입니다. Jasmine, Selenium Webdriver, Node.js 등과 같은 강력한 기술을 결합합니다.
Protractor 테스트 도구는 Angular JS 애플리케이션을 염두에두고 설계된 엔드 투 엔드 동작 중심 테스트 프레임 워크입니다. 각도기가 아닌 JS 응용 프로그램에서는 작동하지 않는 것처럼 들릴 수 있지만 작동합니다.
Angular 및 비 Angular JS 응용 프로그램 모두에서 똑같이 잘 작동합니다.
자유롭게 탐색하십시오 전체 AngularJS 시리즈 튜토리얼 . 이전 튜토리얼에서 Angular 버전의 차이점 자세히 설명했습니다.
학습 내용 :
- 각도기 대 Selenium WebDriver
- 풍모
- 각도기는 어떻게 도와 줄 수 있습니까?
- 사용할 프레임 워크는 무엇입니까?
- 각도기 다운로드 및 설정 방법
- 첫 번째 테스트 케이스를 만들 준비가 되셨습니까?
- 테스트 케이스를 실행하는 방법은 무엇입니까?
- 각도기의 더 멋진 기능
- 결론
- 추천 도서
각도기 대 Selenium WebDriver
각도기가 전통과 다른 점 셀레늄 WebDriver ?
잠시 시간을내어 다음 질문에 답하십시오.
- 웹 페이지가 정확히 언제로드되는지 (모든 비동기 요소가 준비 및 처리됨) 결정하는 것이 어렵습니까?
- 코드에 대기 및 수면을 추가하는 데 지쳤습니까?
- 각 요소를 찾는 번거로운 노력을 없애고 싶습니까?
- ID가 변경되는 요소를 찾는 데 어려움이 있습니까?
- 나만의 로케이터를 만드시겠습니까?
- 가장 단순한 단언에 대해서도 긴 코드를 작성하고 있습니까?
- 당신은 JavaScript 애호가 / 팬입니까?
이 질문에 예라고 답했다면 길게 끄는 것 도울 수있다.
Selenium Webdriver 위에 빌드 된 래퍼이므로 Selenium의 모든 기능과 함께 유용한 추가 기능을 모두 제공합니다. 다음을 제공합니다.
풍모
다음을 제공합니다.
1) WaitForAngular
토렌트 파일 여는 방법
문서에서 :
' 계속하기 전에 Angular가 렌더링을 완료하고 미해결 $ http 또는 $ timeout 호출이 없을 때까지 기다리도록 WebDriver에 지시하십시오. Protractor는 모든 WebDriver 작업 전에이 명령을 자동으로 적용합니다. '
이것이 의미하는 바는 스크립트에 수동으로 대기를 추가 할 필요가 없으며 Protractor는 웹 요소가로드 될 때까지 자동으로 기다린 다음 다음 단계 만 실행합니다.
두) 전역 함수를 내보낼 수 있습니다. 요소 로케이터를 사용하고 ElementFinder를 반환합니다. 이 ElementFinder에는 click (), getText (), sendKeys () 등과 같은 일련의 작업 메서드가 있습니다. 이것은 요소와 상호 작용하고 정보를 얻는 방법의 핵심입니다.
이 전역 함수는 요소 찾기 구문을 줄이는 데 도움이됩니다. Selenium WebDriver 및 Protractor 모두에서 요소를 찾으려면 다음 문을 살펴보십시오.
셀레늄 웹 드라이버 :
driver.findElement(By.cssSelector('css selector'));
길게 끄는 것 :
element(by.css('some-css'));
구문이 간결 해 보입니다. 그렇지 않습니까?
삼) Angular 요소를 찾는 데 도움이되는 새로운 로케이터 전략 및 기능은 다음과 같습니다. By.binding, By.repeater, By.textarea, By.model, WebElement.all, WebElement.evaluate 등
각도기는 어떻게 도와 줄 수 있습니까?
다음과 같은 두드러진 특징을 살펴보십시오.
- 테스트 케이스를 작성하는 간단한 구문
- Selenium Grid를 사용하여 한 번에 여러 브라우저를 실행하는 기능
- 각도 별 로케이터
- Jasmine / Mocha와 같은 행동 중심 개발 지원
- 수면 / 대기 추가 필요 없음
- Jenkins / Browser Stack / Grunt 등과 통합 지원
- Angular JS 웹 사이트에서 동기화 문제 처리 제거
- 다양한 브라우저 지원 (Firefox, Chrome, Safari, Internet explorer)
- 코드를 변경할 필요없이 모바일 브라우저에서 동일한 스크립트를 실행할 수있는 기능
사용할 프레임 워크는 무엇입니까?
두 가지 BDD (행동 중심 개발) 테스트 프레임 워크를 즉시 지원합니다.
- 재스민 속: 재스민 속 Protractor가 설치 될 때 기본 테스트 프레임 워크입니다. 이 기사에서는 Jasmine을 사용합니다.
- 모카: 모카 Node.js에서 실행되는 JavaScript 테스트 프레임 워크입니다. Mocha를 테스트 프레임 워크로 사용하려면 Protractor를 사용하여 설정해야하며 Behavior Driven Development 인터페이스와 Chai가 Promised 인 Chai Assertions를 사용해야합니다 (참조 : 이 링크 상세 사항은 ).
각도기 다운로드 및 설정 방법
node.js 프로그램이므로 node.js를 설치해야 실행됩니다. Node.js는 운영 체제를 선택하여이 URL에서 다운로드 할 수 있습니다. Node.js 다운로드
node.js를 사용하면 해수면 위의 각도기 이제 Protractor를 설치하는 데 사용할 수있는 패키지입니다.
이제 node.js가 컴퓨터에 설치되었으므로 명령 프롬프트 (cmd)를 열고 아래 명령을 눌러 전역 적으로 설치합니다.
npm install -g protractor
'-지' 이 도구를 전역 적으로 설치하는 데 사용됩니다. 전체적으로 설치하지 않으려면 제거하십시오. 이 명령은 또한 기본 셀레늄 서버와 함께 Protractor API를 설치하므로 반드시 독립 실행 형 서버를 시작할 필요가 없습니다.
이제 셀레늄 서버와 ChromeDriver를 설치해야합니다. cmd에서 다음 명령 (각도기와 함께 제공됨)을 사용하십시오.
webdriver-manager update
이 프레임 워크를 사용하여 첫 번째 테스트 케이스 작성을 시작하는 데 필요한 전부입니다. 원하는 경우 IDE / 편집기를 설치하여 코드를 작성할 수 있습니다. Eclipse IDE가 널리 사용되지만 고려해야 할 멋진 편집기도 있습니다. 개인적으로 저는 Protractor 코드 작성을 위해‘Atom’편집기를 선호합니다.
첫 번째 테스트 케이스를 만들 준비가 되셨습니까?
실행하려면 2 개의 파일이 필요합니다.
- 구성 파일
- 사양 파일.
그만큼 구성 파일 Protractor에게 테스트 파일 (사양)을 찾을 위치 / 선택할 브라우저 / 사용할 프레임 워크 (Jasmine / Mocha) / Selenium 브라우저 및 기타 구성과 통신 할 위치를 알려주는 파일입니다. 구성 파일에 정의되지 않은 구성이 있으면 기본값을 사용합니다.
사양 파일은 실제 테스트 코드를 작성하는 파일입니다. 모든 테스트 기능 흐름 / 어설 션은이 특정 파일에 있습니다. 테스트 케이스 수에 따라 여러 스펙 파일이있을 수 있지만 하나의 스펙 파일 만 여러 스펙의 전체 테스트 스위트를 실행할 수 있습니다.
테스트 사례 예 :
이제 URL로 이동하여 페이지 제목을 확인하는 간단한 테스트 케이스를 작성합니다.
단계는 다음과 같습니다.
- 테스트 스위트를위한 새 폴더를 만듭니다.
- 이름이‘인 새 파일을 만듭니다. js ’. (어떤 이름이든 상관 없음) 모든 사양 / 구성 파일의 확장자는‘.js’입니다.
- 이름이‘로 지정된 새 파일을 만듭니다. js '.
//CheckTitleSpec.js describe('Protractor Demo', function() { it('to check the page title', function() { browser.ignoreSynchronization = true; browser.get('https://www.softwaretestinghelp.com/'); browser.driver.getTitle().then(function(pageTitle) { expect(pageTitle).toEqual('Software Testing Help - A Must Visit Software Testing Portal'); }); }); });
이제 우리는 코딩을 시작할 준비가되었습니다. 아래의‘testCaseNameSpec.js’파일 코드를 참조하십시오.
구성 파일은 다음과 같습니다.
// conf.js exports.config = { framework: 'jasmine', capabilities: { browserName: 'chrome', }, specs: ('simpleTestSpec.js') };
이제이 두 파일을 깨고 어떻게 작동하는지 살펴 보겠습니다.
#1) Spec.js
- 모든 브라우저 수준 명령은‘ 브라우저 ’, Protractor가 만든 글로벌.
- Jasmine 프레임 워크를 따르기 때문에‘ 설명 ' 및‘ 그것 ’는 Jasmine의 구문입니다. 설명은 테스트 케이스의 흐름을 끝까지 전체적으로 포함하는 반면 'it'에는 일부 테스트 단계 / 시나리오 등이 포함될 수 있습니다. 여러 ' 그것 ’원하는 경우 프로그램에서 차단합니다.
- browser.get Protractor에게 브라우저의 특정 URL을 입력하도록 지시하는 간단한 Selenium 구문입니다.
- 우리가 공격하려는 웹 사이트가 각도가 아닌 웹 사이트이므로 ignoreSynchronization '에 태그 진실 ’가 4 행에 표시됩니다.이 태그를 true로 설정하지 않으면 'Angular를 페이지에서 찾을 수 없습니다.'라는 오류와 함께 테스트가 실패합니다. 그 이유는 Protractor가 기본적으로 각도 웹 사이트와 함께 작동 할 것으로 예상하고 각도가 아닌 웹 사이트의 유효성을 검사하기 위해 Protractor를 사용하는 경우이를 Protractor에 명시 적으로 알려야하기 때문입니다. 그러나 각도 웹 사이트에서 작업하는 경우 Protractor는 기본적으로 웹 페이지를 각도로 간주하므로이 문을 사용할 필요가 없습니다.
- 'expect'는 웹 페이지 제목을 미리 정의 된 데이터와 비교하는 주장 일뿐입니다. 더 많은 주장에 대해 자세히 논의 할 것입니다.
#두) conf.js
- 앞에서 논의했듯이 구성 파일은 Protractor에 핵심 세부 정보를 알려주는 파일입니다. 코드에 표시된대로 프레임 워크는‘Jasmine’입니다.
- 기능 섹션 내에서 브라우저 구성이 설정됩니다. Firefox / chrome 등과 같은 브라우저 이름을 정의 할 수 있습니다. 또한 브라우저의 최대 인스턴스를 설정하여 한 번에 여러 사용 가능한 브라우저 창에서 여러 테스트 케이스를 실행할 수 있습니다.
- ‘ 명세서 ’섹션에서 사양 파일의 경로, 즉 구성 파일과 관련하여 사양 파일이있는 정확한 위치를 제공합니다.
- 보고 / onPrepare 기능 / 임계 값 시간 제한 등과 같이 구성 파일에 첨부 할 수있는 다른 많은 멋진 기능도 있습니다.이 자습서에서는 이러한 기능 중 몇 가지를 다룰 것입니다.
테스트 케이스를 실행하는 방법은 무엇입니까?
코드를 작성했으며 이제 코드를 실행하기 위해 약간의 푸시 만하면됩니다. 프로그램을 실행하려면 cmd에서 다음 명령을 누르십시오.
protractor conf.js
이 명령은 셀레늄 서버 실행을 시작한 다음 테스트 스크립트를 실행합니다. cmd 자체에서 로그를 보거나 원하는 경우 .txt 파일로 로그를 캡처 할 수도 있습니다 ( 추가 >> textFileName.txt 위의 명령 후 로그는 구성 파일과 동일한 디렉토리에있는 텍스트 파일에 저장됩니다.
크롬 창이 열립니다. SoftwareTestingHelp.com 웹 사이트를 열어야합니다. 코드를 실행할 때 출력은 '1 spec, 0 failure'입니다. 이것이 의미하는 것은 0 개의 실패로 실행 된 1 개의 'it'블록이 있다는 것입니다.
이제 Angular 웹 사이트를 테스트 할 때 각도기가 Selenium에 대해 취하는 것을 볼 수 있도록 AngularJS에서 웹 페이지 빌드에 대해 몇 가지 작업을 수행하는 아래 사양 파일을 고려하십시오.
숙련자를위한 수동 테스트 인터뷰 질문
// spec.js describe('Code to interact with Angular JS elements', function() { it('should multiply two integers', function() { browser.get('http://juliemr.github.io/protractor-demo/'); element(by.model('first')).sendKeys(5); element(by.model('second')).sendKeys(5); element(by.model('operator')).click(); element(by.xpath('.//option(@value= 'MULTIPLICATION')')).click(); element(by.id('gobutton')).click(); expect(element(by.binding('latest')) .getText()).toEqual('10'); //Incorrect expectation expect(element(by.binding('latest')) .getText()).toEqual('25'); //Correct expectation }); });
이 사양을 실행하기 위해 동일한 conf.js를 사용할 수도 있습니다. 사양 파일 이름을 업데이트하십시오.
이제이 사양 파일에서 각도 JS 웹 사이트를 사용하여 Protractor가 정확히 무엇을 할 수 있는지 확인할 수 있습니다.
이전처럼이 파일을 실행하면 2 개의 텍스트 상자, 드롭 다운, 버튼 및 기타 웹 요소가 포함 된 웹 페이지가 열립니다. 이미 짐작 하셨겠지만 계산기 페이지입니다. 2 개의 정수를 입력으로 제공하고 곱셈 연산을 수행합니다.
이미 논의했듯이이 도구를 사용하는 가장 큰 장점 중 하나는 Angular 요소를 찾는 고유 한 기술입니다. ‘by.model’ 요소를 찾는 방법 중 하나입니다. ‘.sendKeys ()’ 텍스트 상자에 값을 보내는 일반적인 Selenium 구문입니다. '.딸깍 하는 소리()' 버튼을 클릭하는 데 사용됩니다.
앞서 논의했듯이 '배고 있다' Protractor에게 숫자의 곱셈 결과를 캡처하여 '10'과 '25'와 순차적으로 비교하도록 요청하는 주장입니다. Simple Mathematics는 출력이 '25'가되어야하므로 첫 번째 주장은 실패하고 두 번째는 통과합니다.
결과적으로 ' 사양 1 개, 실패 1 개 ’이 로그에 기록됩니다.
각도기의 더 멋진 기능
# 1) 어설 션 및 주석
어설 션은 자동화 스크립트의 중요한 부분입니다. 주석은 클래스의 특정 메서드에 특별한 의미를 갖도록 효과적으로 태그를 지정하는 데에도 매우 유용합니다.
다양한 어설 션 및 주석을 제공하며 그 외에도 자신 만의 어설 션을 생성 할 수있는 기능도 제공합니다.
아래 예를 고려하십시오.
describe('Code to understand assertions/annotations', function() { beforeEach(function() { browser.get('http://juliemr.github.io/protractor-demo/'); }); afterEach(function() { browser.get('https://www.madewithangular.com/#/'); }); var multiplyNumbers = function(a, b) { element(by.model('first')).sendKeys(a); element(by.model('second')).sendKeys(b); element(by.model('operator')).click(); element(by.id('gobutton')).click(); }; it('should multiply two integers', function() { multiplyNumbers(2, 2); expect(element.all(by.repeater('result in memory')).count()).toEqual(2); multiplyNumbers(3, 3); expect(element.all(by.repeater('result in memory')).count()).toEqual(2); }); });
위의 예에서는 2 개의 주석을 사용하고 있습니다. ‘beforeEach’ 과 ‘afterEach’ . 이러한 주석은 TestNG (기존 Selenium)에서도 사용할 수 있습니다. 이러한 주석은 나머지 코드 실행 전 / 후에 특정 코드가 실행되도록합니다.
자, 여기에 코드 실행이 일어나는 방법이 있습니다.
- 각도기는‘ beforeEach ’먼저 차단하면‘ http://juliemr.github.io/protractor-demo/ '브라우저의 URL입니다.
- 이제 흐름이‘it’블록으로 이동하고‘ multiplyNumbers’ 차례로 호출되어 함수가 호출 된 위치로 컨트롤을 다시 보내는 지정된 작업을 수행합니다.
- 마침내 주장은 그 일을 할 것입니다. 이제 여러 요소를 동시에 처리하려면이 도구의 기능인 'element.all'을 사용할 수 있습니다. 지정된 로케이터 (이 경우 by.repeater)로 사용 가능한 모든 요소를 식별합니다. 식별 된 요소로 수행 할 작업은 귀하에게 달려 있습니다. 이 경우 계산 내역을 주어진 숫자와 비교합니다.
- 첫 번째 assertion에서는 계산을 한 번만 수행했지만 계산 이력 개수를 '2'와 비교하고 있으므로 assertion이 실패합니다. 그러나 두 번째 주장은 두 번째 계산 이후에 이력 개수가 '2'가되는 것처럼 통과됩니다.
사용 가능한 더 많은 유형의 주장이 있습니다. 그중 일부는 다음과 같습니다.
a) 웹 요소에서 텍스트를 가져 와서 특정 값과 비교합니다.
element(by.locator('someLocator')).getText(text) .then(function() { expect(text).toEqual('someData'); expect(text).not.toEqual('someData'); expect(text).toContain('someOtherData'); });
b) 웹 요소가 페이지에 표시되는지 확인합니다.
expect(browser.driver.findElement(by.locator(someLocator)) .isDisplayed()).toBe(true);
# 2) 여러 브라우저 / 창 / 탭 처리
브라우저를 다룰 때 여러 가지 경우가있을 수 있습니다. 이러한 경우 중 일부는 아래에 강조 표시되어 있습니다.
a) 링크를 클릭하면 새 탭이 열립니다.
때로는 링크를 클릭하면 새 탭이 열리고 나머지 작업은 새로 열린 창에서 수행해야합니다. 이 경우 새 탭이 열리는 지점까지 코드를 작성할 때 다음 방법을 사용하여 창 처리기를 구현해야합니다.
//Get all of the opened windows and store the count in handles browser.getAllWindowHandles().then(function(handles) { //Now switch the control to the newly opened window browser.switchTo().window(handles(1)).then(function() { //Write the code which needs to be executed in the new tab }); });
먼저 사용 가능한 모든 창 수를 가져온 다음 인덱싱을 사용하여 창간에 제어를 전환합니다. 새 창을 시작한 원래 창에는 인덱스 0이있는 반면 후속 창에는 증가하는 인덱스가 있습니다.
b) 새 세션으로 완전히 새로운 브라우저 열기
브라우저에서 몇 가지 작업을 수행해야하고 브라우저의 다른 세션에서 추가 작업을 수행해야하는 경우 forkNewDriverInstance . 이 경우 다음과 같은 방법으로 새 브라우저 이름으로 새 브라우저 인스턴스를 만듭니다.
describe('Code to understand assertions/annotations', function() { //Create a new browser instance var newBrowser = browser.forkNewDriverInstance(); it('should should open multiple browsers instances', function() { //Opens a URL in the 1st browser instance browser.get('http://juliemr.github.io/protractor-demo/'); //Opens a URL in the 2nd browser instance newBrowser.get('https://www.madewithangular.com/#/'); newBrowser.driver.quit(); }); });
c) 여러 브라우저에서 테스트 케이스 실행 :
한 번에 두 개의 브라우저에서 테스트 케이스를 실행하는 것은 구성 파일로 할 수있는 일입니다. 구성 파일에 아래 코드를 추가하기 만하면됩니다.
이 구성 파일을 실행하자마자 Firefox와 Chrome에서 동시에 실행되는 테스트가 표시되고 실행 로그가 명령 프롬프트에 별도로 표시됩니다.
// conf.js exports.config = { framework: 'jasmine', specs: ('SomeSpec.js'), multiCapabilities: ({ browserName: 'firefox' }, { browserName: 'chrome' }) }
# 3) 페이지 개체를 사용하여 프레임 워크를 더 좋게 만들기
이 도구는 그 자체로는 좋지만 페이지 개체 모델 (POM)과 결합하면 무적이됩니다. 대부분의 단점 (있는 경우)은 페이지 개체 모델로 극복됩니다. 또한 POM은 프로젝트를보다 체계적인 방식으로 유지하는 데 도움이됩니다.
POM이 무엇인지 모르더라도 걱정하지 마십시오. POM은 페이지를 기준으로 테스트 케이스를 분리하는 방법입니다.
이 예를 보자 :
쇼핑 웹 사이트가 있습니다. 테스트 케이스는 제품을 선택하고 장바구니에 추가 한 다음 구매하는 것입니다.
이제이를 위해 테스트 스크립트 코드를 관리하는 두 가지 방법이 있습니다.
- 로직이 작성된 동일한 페이지에 모든 로케이터가 포함 된 일반 테스트 케이스를 작성합니다.
- 테스트 케이스의 모든 흐름과 로직을 사양 파일에 작성하고 로케이터와 테스트 데이터를 다른 파일로 분리합니다. 각 웹 페이지에는 동등한 .js 페이지 파일이 있습니다. 이런 식으로 코드가 구조화되고 동일한 로케이터가 필요한 다른 테스트 케이스가있는 경우 이러한 로케이터를 다시 작성할 필요가 없습니다.이 로케이터 파일을 가져 와서 필요에 따라 사용하면됩니다.
테스트 케이스를 유지하는 것은 정말 고통 스러울 수 있습니다. POM을 사용하면 코드가 훨씬 더 구조화됩니다.
Windows 10 용 무료 방화벽 다운로드
다음은 페이지 개체 모델을 사용하는 예입니다.
이것은 위의 스냅 샷에있는 흐름입니다.
- 노트북을 구매하는 테스트 케이스가 있습니다. 흐름 및 논리에 대한 코드는 purchaseLaptopSpec.js에 있습니다.
- 노트북을 구매할 때 접하는 모든 페이지에는 적절한 제목의‘.js’파일 1 개가 있습니다. 랩탑 구매에 필요한 모든 요소는 해당 페이지 파일 내에 있습니다.
- 이 테스트 케이스에 필요한 데이터는 '.json'형식 또는 Excel 형식으로 TestData 폴더에 저장할 수 있습니다.
- 페이지 및 로케이터 작업이 완료되면이 파일을 사양 파일로 가져와 로케이터 / 테스트 데이터를 사용하면 모든 테스트 케이스가 설정됩니다.
# 4)보고
NPM (노드 패키지 관리자)은 각 테스트 단계의 스크린 샷을 캡처 할 수있는 다양한보고 패키지를 제공하며 테스트 실행이 완료되면 HTML 보고서를 생성합니다. 명령 프롬프트를 열고 아래 명령을 입력하여 패키지를 설치하기 만하면됩니다.
npm install -g protractor-jasmine2-html-reporter
npm install protractor-jasmine2-screenshot-reporter --save-dev
이러한 패키지가 설치되면 구성 파일을 실행할 때마다 테스트 케이스의 모든 스크린 샷이 저장되고 테스트 케이스 통과 / 실패 결과를 표시하는 HTML 보고서가 생성됩니다.
# 5) Git / Jenkins / Browserstack / Grunt와 같은 다른 강력한 도구와 통합
테스트 사례를 더욱 개선하는 데 도움이되는 여러 도구가 시장에 나와 있습니다. Git / Jenkins / BrowserStack / Grunt는 일반적인 각도기 테스트 스크립트에 상당한 가치를 더하는 도구입니다. 그리고 가장 좋은 점은 분도기를 이러한 도구와 통합하기 위해 사양 파일을 만질 필요가 없다는 것입니다. 이 모든 작업을 수행하는 구성 파일입니다.
가다 매우 강력한 버전 관리 도구입니다. 여러 개발자가 관련된 경우 항상 Git에 코드를 유지하는 것이 가장 좋습니다.
젠킨스 는 테스트 사례를 예약하고 필요에 따라 실행할 수있는 지속적인 통합 도구입니다. 각도기 스크립트는 Jenkins로 구성 할 수도 있습니다. Jenkins에서 테스트 케이스를 실행하는 가장 좋은 방법은 매우 빠르며 한 번에 여러 테스트 케이스를 실행할 수 있다는 것입니다.
BrowserStack 다른 브라우저에서 애플리케이션을 테스트하는 데 사용할 수도있는 크로스 브라우저 테스트 도구입니다. 구성 파일에 browserStack 자격 증명을 추가하여 Protractor와 통합 할 수도 있습니다.
바닥 JavaScript 작업 실행기입니다. 여러 작업을 수행 할 수있는 기능을 제공합니다. 그 대단한 점은 4000 개가 넘는 작업이 있으며 요구 사항에 따라 더 많은 작업을 만들 수 있다는 것입니다. 다음은 Grunt를 사용할 수있는 중요한 일일 사용 작업입니다.
- 모든 코딩 모범 사례를 나열하고 위반할 때마다 즉시 알립니다.
- 런타임에 여러 스펙 파일을 작성합니다. 예를 들면 , 여러 번 실행하려는 테스트 케이스가있는 경우 (1부터 임의의 숫자까지). 이 시점에서는 불필요 해 보일 수 있지만 모든 사용 가능한 모든 국가에서 실행되도록 쇼핑 웹 사이트 결제 흐름을 실행하는 것을 생각해보십시오. 여러 사양을 수동으로 만드는 것은 지루할 것입니다. 그러니 그런트가 당신을 위해이 일을하게하십시오.
- 시계 기능. 테스트 케이스를 작성하고 코드를 변경 한 후 코드를 저장하자마자 테스트 케이스가 실행되기를 원할 때마다 Grunt가 가져 왔습니다.
- 여러 파일 연결.
한번 시도해 보시면 마음에 드실 겁니다.
결론
Selenium을 각도기처럼 작동하도록 만들 수 있지만 바퀴를 다시 발명해야하는 이유는 무엇입니까? Google이 Protractor가 매력처럼 작동하도록 많은 노력을 기울 였다면 최대한 활용하십시오. 적어도 AngularJS 웹 사이트에서는 당신의 삶을 훨씬 더 쉽게 만들 것입니다.
또한이 기사는 각도기에 관한 것이 아닙니다. Protractor의 큰 세계가 있으며 NPM에서 제공하는 수백 개의 패키지를 사용하여 간단한 테스트 시나리오 외에도 테스트에 더 많은 기능을 추가 할 수 있습니다. 이 패키지를 자유롭게 사용하고 더 좋게 만드십시오.
저자 정보 : 이것은 Deshansh의 게스트 포스트입니다. 그는 선도적 인 다국적 기업 중 한 곳에서 테스트의 소프트웨어 개발 엔지니어로 일하고 있습니다. 그는 Selenium 및 Protractor 자동화 테스트에 대한 광범위한 경험을 가지고 있습니다.
다가오는 튜토리얼은 AngularJS 인터뷰를 성공적으로 완료하는 데 도움이 될 것입니다.
추천 도서
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 시험 입문서 eBook 다운로드
- Cucumber Tool과 Selenium을 사용한 자동화 테스트 – Selenium Tutorial # 30
- 응용 프로그램 설치 및 Appium 테스트를위한 준비
- LoadUI를 사용한 부하 테스트-무료 및 오픈 소스 부하 테스트 도구
- Selenium과 JMeter의 통합
- HP LoadRunner 자습서를 사용한 부하 테스트
- WAVE 접근성 테스트 도구 자습서