Looking for protractor Answers? Try Ask4KnowledgeBase
Looking for protractor Keywords? Try Ask4Keywords

protractor각도기 시작하기


비고

각도기 는 AngularJS 어플리케이션을위한 엔드 - 투 - 엔드 테스트 프레임 워크입니다.

Protractor는 Selenium WebDriver 주변의 래퍼 (상단에 빌드 됨)이므로 Selenium WebDriver에서 사용할 수있는 모든 기능을 포함합니다. 또한 각도기는 AngularJS 응용 프로그램을 자동화하는 데 매우 유용한 몇 가지 새로운 로케이터 전략과 기능을 제공합니다. 예를 들면 waitForAngular, By.binding, By.repeater, By.textarea, By.model, WebElement.all, WebElement.evaluate 등이 있습니다.

버전

번역 자료 공개
0.0.1 2016-08-01

각도기를 사용한 첫 번째 테스트

분도기는 첫 번째 테스트, spec (테스트 코드) 파일 및 구성 파일을 실행하기 위해 두 개의 파일 만 필요합니다. 사양 파일은 테스트 코드를 포함하고 다른 하나는 사양 파일 경로, 브라우저 세부 정보, 테스트 URL, 프레임 워크 매개 변수 등과 같은 구성 세부 정보를 포함합니다. 첫 번째 테스트를 작성하려면 셀렌 서버 주소와 사양 파일 경로 만 제공합니다. 브라우저 , 시간 초과, 프레임 워크는 기본값으로 선택됩니다.

각도기의 기본 브라우저는 Chrome입니다.

conf.js - 구성 파일

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js']
};
 

spec.js - 사양 (테스트 코드) 파일

describe('first test in protractor', function() {
  it('should verify title', function() {
    browser.get('https://angularjs.org');

    expect(browser.getTitle()).toEqual('AngularJS — Superheroic JavaScript MVW Framework');
  });
});
 

seleniumAddress - webdriver 서버가 실행중인 서버의 경로입니다.

specs - 테스트 파일의 경로를 포함하는 배열 요소. 다중 경로는 쉼표로 구분 된 값으로 지정할 수 있습니다.

describe - Jasmine 프레임 워크의 구문. 구문 sta를 describe

각도기 설치 및 설정 (Windows의 경우)

요구 사항 : 각도기를 설치하기 전에 다음 종속성을 설치해야합니다.

  • Java JDK 1.7 이상
  • Node.js v4 이상

설치:

다음 URL에서 Node.js를 다운로드하여 설치 하십시오 . https://nodejs.org/en/

Node.js 설치가 성공했는지 확인하려면 환경 변수를 확인하십시오. 시스템 변수 아래의 '경로'가 자동으로 업데이트됩니다.

Node.js 설치를 검사 할 경로 변수


명령 프롬프트에서 npm -version 명령을 입력하여 동일한 내용을 확인할 수도 있습니다.이 명령은 설치된 버전을 제공합니다.

Node.js 설치를 검사하는 명령


이제 분도기는 두 가지 방법으로 설치할 수 있습니다 : 로컬 또는 전역.

우리는 지정된 폴더 또는 프로젝트 디렉토리 위치에 각도기를 설치할 수 있습니다. 프로젝트 디렉토리에 설치하면 실행될 때마다 그 위치에서만 실행해야합니다.

프로젝트 디렉토리에 로컬로 설치하려면 프로젝트 폴더로 이동하여 명령을 입력하십시오

npm install protractor


각도기를 전체적으로 설치하려면 다음 명령을 실행하십시오.

$ npm install -g protractor
 

이것은 두 개의 명령 행 도구 인 protractorwebdriver-manager 합니다.
protractor --version 실행하여 각도기가 성공적으로 설치되었는지 확인하십시오.

webdriver-manager 는 브라우저 드라이버 바이너리를 다운로드하고 셀렌 서버를 시작하는 데 사용됩니다.
다음과 함께 브라우저 드라이버 바이너리를 다운로드하십시오.

$ webdriver-manager update
 

다음을 사용하여 셀렌 서버를 시작하십시오.

$ webdriver-manager start
 

Internet Explorer 드라이버를 다운로드하려면 명령 프롬프트에서 webdriver-manager update --ie 명령을 실행하십시오. 이렇게하면 셀 폴더에 IEDriverServer.exe가 다운로드됩니다.

대기중인 테스트

각도기를 사용하면 테스트를 보류 중으로 설정할 수 있습니다. 이것은 각도기가 테스트를 실행하지 않고 다음과 같이 출력 함을 의미합니다 :

Pending:
1) Test Name
Temporarily disabled with xit
 

또는 xdescribe ()로 비활성화 한 경우 :

Pending:
1) Test Name
No reason given
 

조합

  • xdescribe () 내의 xit ()는 xit () 응답을 출력합니다.
  • fdescribe () 내의 xit ()은 여전히 ​​보류 중으로 처리됩니다.
  • xdescribe () 내의 fit ()는 계속 실행되며 보류중인 테스트는 아무 것도 출력하지 않습니다.

각도기 : 기업용 각도 어플리케이션을위한 E2E 테스트

각도기 설치 및 설정

1 단계 : 여기에서 NodeJS를 다운로드하여 설치하십시오. 최신 노드 버전인지 확인하십시오. 여기, 노드 v7.8.0을 사용하고 있습니다. 셀레늄을 실행하려면 Java Development Kit (JDK)가 설치되어 있어야합니다.

2 단계 : 터미널을 열고 다음 명령을 입력하여 각도기를 전체적으로 설치합니다.

npm install -g protractor
 

이것은 분도기 및 webdriver 관리자와 같은 두 가지 도구를 설치합니다. protractor –version. Installation을 다음 명령으로 검증 할 수 있습니다 : protractor –version. 각도기가 성공적으로 설치된 경우 시스템은 설치된 버전 (예 : 버전 5.1.1)을 표시합니다. 그렇지 않으면 설치를 다시 확인해야합니다. 3 단계 : webdriver 관리자를 업데이트하여 필요한 바이너리를 다운로드합니다.

webdriver-manager update
 

4 단계 : 다음 명령은 Selenium Server를 시작합니다. 이 단계는 백그라운드에서 웹 드라이버 관리자를 실행하고 분도기를 통해 실행되는 테스트를 수신합니다.

webdriver-manager start http://localhost:4444/wd/hub/static/resource/hub.html. 에서 서버 상태에 대한 정보를 볼 수 있습니다 http://localhost:4444/wd/hub/static/resource/hub.html.

각도기를 사용하여 첫 번째 테스트 케이스 작성 :

테스트 케이스를 작성하기에 앞서 구성 파일과 스펙 파일 인 두 개의 파일을 준비해야합니다.

구성 파일에서 :

//In conf.js
exports.config = {
    baseUrl: ‘http://localhost:8800/adminapp’,
    seleniumAddress: ‘http://localhost:4444/wd/hub',
    specs: [‘product/product_test.js’],
    directConnect : true,
    capabilities :{
        browserName: ‘chrome’
    }
}
 

구성 파일에 사용 된 용어의 기본 이해 :

baseUrl - 테스트중인 애플리케이션의 기본 URL입니다.

seleniumAddress - 이미 실행중인 Selenium Server에 연결합니다.

specs - 스펙 파일의 위치

directConnect : true - 브라우저 드라이버에 직접 연결합니다.

기능 - 단일 브라우저에서 테스트하는 경우 capabilities 옵션을 사용하십시오. 여러 브라우저에서 테스트하는 경우 multiCapabilities 배열을 사용하십시오.

여기 에서 더 많은 구성 옵션을 찾을 수 있습니다. 그들은 가능한 모든 용어를 정의하여 설명했습니다.

사양 파일 :

//In product_test.js

    describe(‘Angular Enterprise Boilerplate’, function() {
      it('should have a title', function() {
        browser.get('http://localhost:8800/adminapp’);
        expect(browser.getTitle()).toEqual(‘Angular Enterprise Boilerplate’);
      });
    });
 

spec 파일에 사용 된 용어의 기본 이해 :

기본적으로 분도기는 테스트 인터페이스로 재스민 프레임 워크를 사용합니다. '설명'및 '그것'구문은 재스민 프레임 워크에서 가져온 것입니다. 여기에서 더 많은 것을 배울 수 있습니다. 첫 번째 테스트 사례 실행 :

테스트 케이스를 실행하기 전에 터미널의 다른 탭에서 실행중인 웹 관리자와 응용 프로그램을 확인하십시오.

이제 다음을 사용하여 테스트를 실행하십시오.

Protractor app/conf.js
 

크롬 브라우저가 애플리케이션 URL로 열리고 자체를 닫아야합니다. 테스트 출력은 1 테스트, 1 어서션, 0 실패이어야합니다.

브라보! 첫 번째 테스트 사례를 성공적으로 실행합니다.

선택적 실행 테스트

각도기는 describe () 대신 fdescribe ()를 사용하여 선택적으로 테스트 그룹을 실행할 수 있습니다.

fdescribe('first group',()=>{
    it('only this test will run',()=>{
        //code that will run
    });
});
describe('second group',()=>{
    it('this code will not run',()=>{
        //code that won't run
    });
});
 

각도기는 it () 대신 fit ()을 사용하여 그룹 내에서 선택적으로 테스트를 실행할 수 있습니다.

describe('first group',()=>{
    fit('only this test will run',()=>{
        //code that will run
    });
    it('this code will not run',()=>{
        //code that won't run
    });
});
 

fdescribe () 내에 fit ()가 없으면 모든 it ()가 실행됩니다. 그러나 fit ()은 동일한 describe () 또는 fdescribe () 내에서 it () 호출을 차단합니다.

fdescribe('first group',()=>{
    fit('only this test will run',()=>{
        //code that will run
    });
    it('this code will not run',()=>{
        //code that won't run
    });
});
 

fit ()가 fdescribe () 대신 describe ()에 있어도 실행됩니다. 또한 fit ()을 포함하지 않는 fdescribe () 내의 it ()도 실행됩니다.

fdescribe('first group',()=>{
    it('this test will run',()=>{
        //code that will run
    });
    it('this test will also run',()=>{
        //code that will also run
    });
});
describe('second group',()=>{
    it('this code will not run',()=>{
        //code that won't run
    });
    fit('this code will run',(){
        //code that will run
    });
});
 

각도기 테스트 쓰기

새 명령 줄 또는 터미널 창을 열고 테스트를 위해 깨끗한 폴더를 만듭니다.

각도기는 실행할 두 개의 파일, spec 파일 및 구성 파일이 필요합니다.

먼저 AngularJS 웹 사이트의 todo 목록 예제로 이동 한 간단한 테스트부터 시작하여 목록에 새로운 ToDo 항목을 추가하십시오.

다음을 spec.js 복사하십시오.

설명 ( 'angularjs 홈페이지 todo 목록', function () {it '은 todo를 추가해야 함, function () {browser.get (' https://angularjs.org ');

element(by.model('todoList.todoText')).sendKeys('write first protractor test');
element(by.css('[value="add"]')).click();

var todoList = element.all(by.repeater('todo in todoList.todos'));
expect(todoList.count()).toEqual(3);
expect(todoList.get(2).getText()).toEqual('write first protractor test');

// You wrote your first test, cross it off the list
todoList.get(2).element(by.css('input')).click();
var completedAmount = element.all(by.css('.done-true'));
expect(completedAmount.count()).toEqual(2);});});