2013-07-08 6 views

답변

23

DesiredCapabilities에 대한 설명서를 읽어야합니다. ChromeDriver에 대한 다른 페이지도 있습니다. Javadoc에서 Capabilities :

기능 : 브라우저 측면을 캡슐화하는 일련의 키/값 쌍을 설명합니다.

기본적으로 DesiredCapabilities은 WebDriver의 속성을 설정하는 데 도움이됩니다. 로컬 설치가 기본 설정과 일치하지 않는 경우 일반적인 경로는 FirefoxDriver의 경로를 설정하는 것입니다.

+3

[Sauce Labs (link)] (https://saucelabs.com/docs/platforms) 플랫폼이 좋은 예입니다. 오른쪽에는 RemoteWebDriver 인스턴스와 함께 사용하는 DesiredCapabilities가 Source의 서비스에서 해당 플랫폼/브라우저/os로 RemoteWebServer를 요청하는 상자가 있습니다. –

3

DesiredCapabilities은 브라우저 세션을 사용자 지정하고 구성하는 데 사용할 수있는 옵션입니다.

당신은 그들에 대해 더 많이 읽을 수 있습니다 here!

11
  1. org.openqa.selenium.remote.DesiredCapabilities 패키지의 클래스입니다.
  2. 브라우저의 속성을 설정할 수있는 기능을 제공합니다. 브라우저 이름, 플랫폼, 브라우저 버전을 설정하는 등.
  3. 대부분 DesiredCapabilities 클래스는 Selenium Grid를 사용할 때 사용됩니다.
  4. 다른 버전과 다른 운영 체제를 사용하는 브라우저가 다른 여러 시스템에서 여러 개의 TestCases를 실행해야합니다.

예 : 나는이 질문에 대답하기가 매우 늦게 나는 알고

WebDriver driver; 
String baseUrl , nodeUrl; 
baseUrl = "https://www.facebook.com"; 
nodeUrl = "http://192.168.10.21:5568/wd/hub"; 

DesiredCapabilities capability = DesiredCapabilities.firefox(); 
capability.setBrowserName("firefox"); 
capability.setPlatform(Platform.WIN8_1); 

driver = new RemoteWebDriver(new URL(nodeUrl),capability); 
driver.manage().window().maximize(); 
driver.manage().timeouts().implicitlyWait(2, TimeUnit.MINUTES); 
5

.
하지만 답변에 대한 추가 참조를 추가하고 싶습니다.
DesiredCapabilities은 키 - 값 쌍으로 설정을 구성하는 것과 같습니다.
다음은 AndroidIOS과 같은 자동화 모바일 플랫폼에 사용되는 Appium과 관련된 예입니다.
따라서 우리는 성능을 줄이고 정확도를 높이기 위해 테스트를 실행해야 할 특정 작업에 대해 WebDriver을 전달하기 위해 일반적으로 DesiredCapabilities을 설정합니다.

// Created object of DesiredCapabilities class. 
DesiredCapabilities capabilities = new DesiredCapabilities(); 

// Set android deviceName desired capability. Set your device name. 
capabilities.setCapability("deviceName", "your Device Name"); 

// Set BROWSER_NAME desired capability. 
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); 

// Set android VERSION desired capability. Set your mobile device's OS version. 
capabilities.setCapability(CapabilityType.VERSION, "5.1"); 

// Set android platformName desired capability. It's Android in our case here. 
capabilities.setCapability("platformName", "Android"); 

// Set android appPackage desired capability. 

// 귀하는 그 APK INFO

// Set your application's appPackage if you are using any other app. 
capabilities.setCapability("appPackage", "com.android.appPackageName"); 

// Set android appActivity desired capability. You can use the same app for finding appActivity of your app 
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator"); 

DesiredCapabilities은이 응용 프로그램을 사용할 수 있습니다 앱에 대한 귀하의 appPackage 이름을 확인해야합니다

그래서 우리는 우리의 DesiredCapabilities 설정 매우 특정 AppiumAndroid 플랫폼에 특정.당신은 셀레늄 desiredCapabilities class

4

원하는 기능의 공식 사이트를 참조 할 수 있습니다 자세한 내용 는 browsername, 브라우저 버전, 시스템의 브라우저 드라이버의 경로 등 같은 브라우저의 속성을 저장하는 키/값 쌍의 연속이다 런타임시 브라우저의 동작을 결정합니다.

원하는 기능을 사용하여 Selenium WebDriver의 드라이버 인스턴스를 구성 할 수도 있습니다. 원하는 기능을 사용하여 FirefoxDriver, ChromeDriver, InternetExplorerDriver와 같은 드라이버 인스턴스를 구성 할 수 있습니다. 원하는 기능은 다음과 같은 경우에 더 유용합니다.

브라우저 속성 및 장치 속성을 설정할 수있는 모바일 응용 프로그램 자동화에서. 운영체제와 버전이 다른 다른 브라우저에서 테스트 사례를 실행하려는 경우 Selenium 그리드에서.

0

원하는 기능은 셀레늄 그리드를 사용하여 원격 또는 병렬 실행을하는 동안 편리합니다. 브라우저 세부 정보를 매개 변수화하고 원하는 기능 클래스를 사용하여 selenium 서버에 전달합니다. 당신은 셀레늄 WebDriver를 실행하면

// Created object of DesiredCapabilities class. DesiredCapabilities capabilities = new DesiredCapabilities(); // Set android deviceName desired capability. Set your device name. capabilities.setCapability("deviceName", "your Device Name"); // Set BROWSER_NAME desired capability. capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); // Set android VERSION desired capability. Set your mobile device's OS version. capabilities.setCapability(CapabilityType.VERSION, "5.1"); // Set android platformName desired capability. It's Android in our case here. capabilities.setCapability("platformName", "Android"); 
0

아래와 같이

또 다른 사용은 Appium를 사용하여 테스트 자동화는 WebDriver는 컴퓨터의 로컬 호스트에서 원격 서버를 열고있다. 이제 셀레늄 서버라고 부르는이 서버는 코드를 브라우저로 해석하는 실제 브라우저 (예 : broser, ff browser 등)의 인스턴스를 실행하거나 "구동"하는 데 사용됩니다. 따라서 셀렌 서버는 다른 브라우저 속성과 상호 작용하므로 많은 "기능"을 갖추고 있습니다. 그래서, 당신은 어떤 능력을 원하십니까? 앱에서 파일이 제대로 다운로드되었지만 데스크톱 자동화 도구가없는 경우 유효성을 검사하는 시나리오를 고려해보십시오. 따라서 다운로드 링크를 클릭하면 바탕 화면의 팝업이 나타나 저장 위치 및 다운로드 여부를 묻습니다. 우회하는 그 다음 경로는 그 팝업을 억제하는 것입니다. 방법? 욕망 능력. 그리고 다른 예제들. 요약하면, Selenium Server는 많은 것을 할 수 있으며 원하는 기능을 사용하여 필요에 맞출 수 있습니다.

관련 문제