Selenium Core Extensions (사용자 확장 프로그램 js)



확장 기능을 이해하려면 먼저 셀렌 IDE 가지 기둥을 이해해야합니다.

1.    작업 : UI 화면에서 수행중인 작업

Selenium Core Extensions (User-Extensions.js)

2.    Assessors / Assertion : UI에서 얻은 데이터에 대한 검증 방법

Selenium Core Extensions (User-Extensions.js)

3.    Locator Strategy : UI에서 요소를 어떻게 찾을 있습니까?

Selenium Core Extensions (User-Extensions.js)

이제 Selenium IDE에는 액션, 주장 / 평가자 로케이터 전략이 많이 포함 매우 성숙한 라이브러리가 있습니다.

그러나 때로는 프로젝트 요구 사항을 위해 많은 기능을 추가해야합니다 경우 사용자 지정 확장을 추가하여이 라이브러리를 확장 있습니다이러한 사용자 지정 확장은 '사용자 확장'이라고합니다.

예를 들어 요소에 텍스트를 채우기 전에 텍스트를 대문자로 변환 수있는 액션이 ​​필요합니다기본 액션 라이브러리에서이 액션을 찾을 없습니다 경우 자신 만의 '사용자 확장' 만들 있습니다 자습서에서는 텍스트를 대문자로 변환하는 사용자 확장 프로그램을 만드는 방법을 배우게됩니다

Selenium 사용자 확장 생성 요구 사항 :

Selenium IDE를위한 사용자 확장을 생성하기 위해서는 JavaScript  JavaScript 프로토 타입 객체 개념  기본 개념을 알아야합니다 .

Selenium Core Extensions (User-Extensions.js)

사용자 확장 기능을 만들려면 자바 스크립트 메소드를 생성하여 셀레늄 객체 프로토 타입과 PageBot 객체 프로토 타입에 추가해야합니다.

Selenium IDE 사용자 확장을 인식하는 방법

Selenium IDE 시작할 Selenium IDE User Extension 추가하면 javascript 프로토 타입의 모든 확장이로드되고 Selenium IDE 이름으로 Selenium IDE 인식합니다.

사용자 확장 생성 방법

1 단계) Action- - 모든 액션은 "do" 의해 시작됩니다. 액션이 대문자 텍스트 경우 해당 이름이  doTextUpperCase가됩니다  동작 메소드를 Selenium IDE 추가하면 Selenium IDE 자체가이 동작을위한 대기 메소드를 생성합니다따라서이 경우 doTextUpperCase  액션  생성   Selenium IDE 해당 대기 함수를 TextUpperCaseAndWait 으로  생성 합니다 개의 매개 변수를 사용할 있습니다.

: 대문자 텍스트 동작

Selenium.prototype.doTextUpperCase = function(locator, text) {

     // Here findElement is itself capable to handle all type of locator(xpath,css,name,id,className), We just need to pass the locator text

     var element = this.page().findElement(locator);

     

     // Create the text to type

     text = text.toUpperCase();

     

     // Replace the element text with the new text

     this.page().replaceText(element, text);

    };

2 단계) Assessors / Assertion-  셀레늄 객체 프로토 타입에 등록 모든 평가자가 접두어로 붙습니다.

"get"또는 "is" . getValueFromCompoundTable, isValueFromCompoundTable. 이것은 개의 매개 변수를 허용 있습니다. 하나는 target, 다른 하나는 value 필드에 대한 테스트 케이스입니다.

Selenium Core Extensions (User-Extensions.js)

Assessor에는 "verify", "assert" wait 함수 접두어가 "waitFor" 시작하는 해당 확인 함수가 있습니다.

    

: 대문자 텍스트 assessors 경우

    

Selenium.prototype.assertTextUpperCase = function(locator, text) {

     // All locator-strategies are automatically handled by "findElement"

     var element = this.page().findElement(locator);

     

     // Create the text to verify

     text = text.toUpperCase();

     

     // Get the actual element value

     var actualValue = element.value;

   

     // Make sure the actual value matches the expected

     Assert.matches(expectedValue, actualValue);

    };

   

    Selenium.prototype.isTextEqual = function(locator, text) {

     return this.getText(locator).value===text;

    };

   

    Selenium.prototype.getTextValue = function(locator, text) {

     return this.getText(locator).value;

    };

3 단계) 로케이터 전략 -  요소를 찾기위한 자체 함수를 생성하려면

    접두사 "locateElementBy"가있는 함수로 PageBot 프로토 타입을 확장해야합니다.

    그것은 개의 매개 변수를 취할 것입니다. 먼저 locator 문자열이되고 번째 매개 변수가 문서가됩니다.

    어디에서 검색해야하는지 알려줍니다.

    

: 대문자 텍스트 로케이터의 경우

    

// The "inDocument" is a document you are searching.

    PageBot.prototype.locateElementByUpperCase = function(text, inDocument) {

     // Create the text to search for

     var expectedValue = text.toUpperCase();

     

     // Loop through all elements, looking for ones that have

     // a value === our expected value

     var allElements = inDocument.getElementsByTagName("*");

// This star '*' is a kind of regular expression it will go through every element (in HTML DOM every element surely have a tag name like<body>,<a>,<h1>,<table>,<tr>,<td> etc. ). Here our motive is to find an element which matched with the Upper Case text we have passed so we will search it with all elements and when we get match we will have the correct web element.

     for (var i = 0; i < allElements.length; i++) {

     var testElement = allElements[i];

     if (testElement.innerHTML && testElement.innerHTML === expectedValue) {

     return testElement;

     }

     }

     return null;

    };

새로 생성 코어 익스텐션을 사용하는 방법?

1.    Selenium IDE 이동하십시오.

옵션 -> 옵션 ... 클릭하십시오.

Selenium Core Extensions (User-Extensions.js)

2.    일반 섹션에서 새로 생성 Selenium Core Extension 위치를 ​​선택하십시오.

Selenium Core Extensions (User-Extensions.js)

3.    확인을 클릭하고 Selenium IDE 다시 시작하십시오.

Selenium Core Extensions (User-Extensions.js)

4.    명령 목록에서 확장자를 찾을 있습니다.

Selenium Core Extensions (User-Extensions.js)

다음은 Selenium IDE에서 사용되는 인기있는 확장 / 플러그인 목록입니다.

이름

목적

Favorites

테스트 스위트를 즐겨 찾기로 표시하고 한 번의 클릭으로 실행

Flex Pilot X

Flex 기반 자동화의 경우

FlexMonkium

Selenium IDE에서의 Adobe Flex 기반 녹음 및 재생 테스트

File Logging

파일에 로그 저장하기

Flow Control

테스트 실행 흐름을 제어하려면

Highlight Elements

웹 컨트롤을 강조 표시하려면

Implicit Wait

특정 제한 시간 동안 요소를 기다리는 중입니다.

ScreenShot on Fail

실패시 스크린 샷 찍기

Test Results

한 번의 클릭으로 테스트 스위트에 대한 테스트 사례 결과 저장

SeleniumHQ 공식 사이트의 다운로드 섹션에서이 모든 것을 얻을 있습니다.

http://docs.seleniumhq.org/download/

개요:

  • Selenium IDE, Action, Assessors / Assertion, Locator 전략의 부분이 있습니다.
  • Selenium IDE 현재 요구 사항을 충족시키지 못하면 사용자 확장이 생성됩니다.
  • 사용자 확장을 생성하려면 셀레늄의 객체 프로토 타입에 javascript 추가해야합니다.
  • 확장 생성 Selenium IDE 추가하고 IDE 다시 시작해야합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터