Selenium 핵심 확장(User-Extensions.js)

확장을 이해하려면 먼저 확장의 세 가지 기둥을 이해해야 합니다. selenium IDE

  1. 액션: 뭐야? operaUI 화면에서 수행 중인 작업

    Selenium 핵심 확장

  2. 평가자/주장: UI에서 얻은 데이터에 대해 수행하는 검증

Selenium 핵심 확장

  1. 로케이터 전략: UI에서 요소를 어떻게 찾을 수 있나요?

Selenium 핵심 확장

지금, Selenium IDE에는 다양한 Actions, Assertion/Assessors 및 Locator Strategies를 갖춘 매우 성숙한 라이브러리가 있습니다.

그러나 때로는 프로젝트 요구 사항에 따라 더 많은 기능을 추가해야 할 때도 있습니다. 그러한 상황에서는 사용자 정의 확장을 추가하여 이 라이브러리를 확장할 수 있습니다. 이러한 사용자 정의 확장을 '사용자 확장'이라고 합니다.

예를 들어 웹 요소에 텍스트를 채우기 전에 텍스트를 대문자로 변환할 수 있는 작업이 필요합니다. 기본 작업 라이브러리에서는 이 작업을 찾을 수 없습니다. 이러한 경우 자신만의 '사용자 확장'을 만들 수 있습니다. 이 튜토리얼에서는 텍스트를 대문자로 변환하는 사용자 확장을 만드는 방법을 배웁니다.

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

다음에 대한 사용자 확장을 생성하려면 Selenium IDE의 기본 개념을 알아야 합니다. 자바 스크립트 자바 스크립트 프로토타입 개체 개념입니다.

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

사용자 확장을 생성하려면 Java 스크립트 메소드를 생성하고 이를 selenium 개체 프로토타입 및 PageBot 개체 프로토타입.

방법 Selenium IDE가 사용자 확장을 인식합니까?

사용자 확장을 추가한 후 Selenium 시작할 때 IDE Selenium IDE에서 javascript 프로토타입의 모든 확장이 로드됩니다. Selenium IDE는 이름으로 이를 인식합니다.

사용자 확장을 만드는 방법

1단계) 조치– 모든 작업은 "do"로 시작됩니다. 즉, 작업이 대문자 텍스트에 대한 경우 이름은 다음과 같습니다. doTextUpperCase. 이 작업 메서드를 추가하면 Selenium SDI, Selenium IDE는 이 작업에 대한 대기 메서드를 자체적으로 생성합니다. 따라서 이 경우에는 생성할 때 doText대문자 조치, Selenium IDE는 다음과 같이 해당 대기 기능을 생성합니다. 텍스트대문자그리고대기. 두 개의 매개변수를 허용할 수 있습니다.

예: 대문자 텍스트 작업

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단계) 평가자/주장- 모든 평가자는 등록되어 있습니다. selenium 객체 프로토타입 앞에 접두사가 붙습니다.

"get" 또는 "is"로 예. getValueFromCompoundTable , isValueFromCompoundTable . 두 개의 매개변수를 허용할 수 있습니다. 하나는 대상용이고 다른 하나는 테스트 케이스의 값 필드용입니다.

사용자 확장 생성

각 평가자에는 "verify", "assert" 접두어가 붙은 해당 검증 기능과 "waitFor" 접두어가 붙은 대기 함수가 있습니다.

예: 대문자 텍스트 평가자의 경우

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 프로토타입을 확장해야 합니다.

두 개의 매개변수를 사용합니다. 첫 번째는 로케이터 문자열이고 두 번째는 문서입니다.

어디에서 검색해야합니까?

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

// 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. We Buy Orders 신청서를 클릭하세요. Selenium IDE

    옵션 -> 옵션…을 클릭하세요.

새로 생성된 코어 확장 사용

  1. 일반 섹션에서 새로 생성된 위치를 선택합니다. Selenium 핵심 확장

    새로 생성된 코어 확장 사용

  2. 확인을 클릭하고 다시 시작하세요. Selenium IDE

새로 생성된 코어 확장 사용

  1. 명령 목록에서 확장명을 찾을 수 있습니다.

새로 생성된 코어 확장 사용

다음은 널리 사용되는 확장/플러그인 목록입니다. Selenium IDE

성함 목적
즐겨 찾기 테스트 스위트를 즐겨찾기로 표시하고 한 번의 클릭으로 실행하려면
플렉스 파일럿 X Flex 기반 자동화의 경우
플렉스몬키움 Adobe Flex 기반 녹음 및 재생용 지원 in Selenium IDE
파일 로깅 로그를 파일로 저장하는 경우
흐름 제어 테스트 실행 흐름을 제어하려면
요소 강조 웹 컨트롤을 강조 표시하려면
암시적 대기 특정 시간 제한 동안 요소를 기다리려면
실패 시 스크린샷 실패 시 스크린샷 찍기
시험 결과 찜하기 테스트 케이스 한 번의 클릭으로 테스트 스위트 결과 확인

다음에서 이 모든 정보와 더 많은 정보를 얻을 수 있습니다. Selenium본사 공식 사이트 다운로드 섹션

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

요약

  • 의 세 부분이 있습니다 Selenium IDE, 액션, 평가자/어설션, 로케이터 전략.
  • 사용자 확장이 생성되는 경우 Selenium IDE는 현재 요구 사항을 충족하지 않습니다.
  • 사용자 확장을 생성하려면 자바스크립트를 추가해야 합니다. selenium의 객체 프로토타입.
  • 확장 프로그램을 만든 후 추가해야 합니다. Selenium IDE를 종료하고 IDE를 다시 시작하세요.

를 다운로드 Selenium 이 튜토리얼에서 사용되는 핵심 확장