모든 테스트 시나리오는 특정 테스트 환경에서 실행되어야합니다. 테스트 환경은 웹 브라우저, 모바일 장치, 모바일 에뮬레이터, 모바일 시뮬레이터 등이 될 수 있습니다 .
Desired Capabilities Class는 테스트 스크립트에서 사용할 환경을 웹 드라이버에게 알려주는 데 도움이됩니다.
DesiredCapabilities 클래스의 setCapability 메서드 는 자습서의 뒷부분에서 설명하며 Selenium Grid에서 사용할 수 있습니다. 여러 컴퓨터 구성에서 병렬 실행을 수행하는 데 사용됩니다.
예 : 그리드
테스트 사례를 실행하는 동안 사용되는 브라우저 속성 (예 : Chrome, IE), 플랫폼 이름 (예 : Linux, Windows)을 설정하는 데 사용됩니다.
모바일 자동화의 경우 다양한 모바일 장치에 대한 테스트를 수행 할 때 모바일 플랫폼 (예 : iOS, Android) 플랫폼 버전 (예 : Android 3.x, 4.x)을 설정할 수 있습니다.
위의 에뮬레이터 예제는 android 플랫폼 세트와 IceCream Sandwich (4.x) 플랫폼 버전 세트를 보여줍니다.
이 튜토리얼에서는,
원하는 기능이란 무엇인가?
원하는 기능은 런타임에 브라우저의 동작을 결정하기 위해 브라우저 이름, 브라우저 버전, 시스템의 브라우저 드라이버 경로 등과 같은 브라우저 속성을 저장하는 일련의 키 / 값 쌍입니다.
- 원하는 기능을 사용하여 Selenium WebDriver의 드라이버 인스턴스를 구성 할 수도 있습니다.
- 원하는 기능을 사용하여 FirefoxDriver, ChromeDriver, InternetExplorerDriver와 같은 드라이버 인스턴스를 구성 할 수 있습니다.
원하는 기능은 다음과 같은 경우에 더 유용합니다.
- 모바일 응용 프로그램 자동화에서 브라우저 속성과 장치 속성을 설정할 수 있습니다.
- Selenium 그리드에서 다른 운영 체제와 버전을 가진 다른 브라우저에서 테스트 케이스를 실행하고자 할 때.
다양한 유형의 원하는 기능 방법
여기에서는, 목적의 capabilities 메소드의 다른 종류를 확인해,이 메소드 「setCapability Method」 를 사용하는 방법을 설명합니다 .
- getBrowserName ()
public java.lang.String getBrowserName ()
- setBrowserName ()
public void setBrowserName (java.lang.String browserName)
- getVersion ()
public java.lang.String getVersion ()
- setVersion ()
public void setVersion(java.lang.String version)
- getPlatform ()
public Platform getPlatform ()
- setPlatform ()
public PlatformgetPlatform ()
- getCapability 메서드
DesiredCapabilities 클래스의 getCapability 메소드는 현재 시스템에서 사용중인 기능을 가져 오는 데 사용할 수 있습니다.
public java.lang.Object getCapability (java.lang.String capabilityName)
- setCapabilityMethod
Desired Capabilities 클래스의 setCapability () 메소드를 사용하여 장치 이름, 플랫폼 버전, 플랫폼 이름, 테스트중인 앱의 절대 경로 (테스트중인 Android 앱의 .apk 파일), app Activity 안드로이드에서) 및 appPackage (자바).
"setCapability 방법" 에서 자바는 아래의 선언이 있습니다 :
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
설정 기능 방법의 예
Selenium Webdriver를 사용하여 www.gmail.com 웹 사이트를 여는 Internet Explorer 브라우저에서 테스트 케이스 를 실행하려는 예제를 살펴 보겠습니다 .
다음은 코드입니다.
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.ie.InternetExplorerDriver;
public class IEtestforDesiredCapabilities {
public static void main(String[] args) {
WebDriver IEdriver = new InternetExplorerDriver();
driver.manage().window().maximize();
driver.get("http://gmail.com");
driver.quit();
}
}
이제 Eclipse에서이 코드를 실행하고 콘솔을 체크 아웃하십시오.
산출:
위의 코드를 실행하면 다음과 같은 오류가 발생합니다. 브라우저 드라이버 (위의 경우 IE) 경로가 설정되어 있지 않으므로 오류가 발생합니다. 브라우저를 셀렌 코드로 찾을 수 없습니다.
드라이버 실행 파일의 경로는 webdriver.ie.driver 시스템 속성에 의해 설정되어야합니다. formore 정보는 http://code.google.com/p/selenium/wiki/InternetExplorerDriver를 참조하십시오. 최신 버전은 http://code.google.com/p/selenium/downloads/list에서 다운로드 할 수 있습니다.
2012 년 12 월 11 일 : 59 : 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib
경고 : IE 드라이버를 시작하는이 방법은 더 이상 사용되지 않으며 셀렌 2.26에서 제거 될 것입니다. http://code.google.com/p/selenium/downloads/list에서 IEDriverServer.exe를 다운로드하고 PATH에 있는지 확인하십시오.
해결책 :
위의 문제에 대한 해결책은 오류 자체의 경고 섹션에 나와 있습니다.
- 32 비트 또는 64 비트 용 Internet ExplorerDriver 독립 실행 형 서버를 다운로드하십시오.
- 시스템의 적절한 위치에 드라이버를 저장하십시오.
- System.setProperty 메서드를 사용하여 드라이버의 경로를 설정합니다 .
- webdriver 속성으로 IE 드라이버를 설정하는 데 사용됩니다. 시스템 위치에 저장된 드라이버 실행 파일을 찾는 데 도움이됩니다. (예 : "C : \ IEDriverLocation \ IEDriver.exe")
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.ie.InternetExplorerDriver;
importorg.openqa.selenium.remote.DesiredCapabilities;
public class IEtestforDesiredCapabilities {
public static void main(String[] args) {
// IE 기능을 정의하는 데 사용됩니다.
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.
INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe");
// IE 드라이버를 초기화하는 데 사용됩니다.
WebDriver driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();
driver.get("http://gmail.com");
driver.quit();
}
}
코드 설명 :
위의 코드에서,
- import 문은 selenium 웹 드라이버의 필수 패키지, Internet Explorer 드라이버의 필수 패키지, 원하는 기능의 패키지를 가져 오는 것입니다.
- setCapability는 다양한 기능을 입력 변수로 사용하여 웹 드라이버가 원하는 환경에서 응용 프로그램을 시작하는 데 사용합니다.
- setProperty는 드라이버가있는 경로를 설정하는 데 사용됩니다. Web Driver는 필요한 드라이버를 찾습니다.
- Gmail 웹 사이트는 "get"방법을 사용하여 Internet Explorer 브라우저에서 열립니다.
Output:
Internet Explorer 브라우저의 테스트 케이스는 Selenium Webdriver를 사용하여 성공적으로 실행됩니다.
결론
Desired Capabilities 클래스는 테스트를 실행할 수있는 브라우저 / 환경의 동작을 정의하는 환경을 설정하는 데 도움이됩니다.
우리가 원하는 기능을 원하는 환경에서 응용 프로그램을 시작하는 데 도움이됩니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
Selenium Webdriver에서 AJAX 호출 처리 (0) | 2018.12.21 |
---|---|
Selenium에서 SSL 인증서 오류 처리 (1) | 2018.12.20 |
Selenium과 함께 AutoIT 사용법 (0) | 2018.12.18 |
Selenium Webdriver의 로봇 클래스 (0) | 2018.12.17 |
셀레니움 헤드리스 테스트를 위한 HTMLUnitDriver 및 PhantomJS (0) | 2018.12.16 |