需要有关Desiredcapabilities类的帮助

时间:2014-07-13 12:24:20

标签: selenium-grid

您好我是第一次学习selenium网格。我无法理解为什么使用Desired capabilities class在远程计算机中设置浏览器名称和平台详细信息。

除google-wiki页面外,如果有任何相关文档,请告知我们

由于 prathima

3 个答案:

答案 0 :(得分:0)

并非所有远程计算机(或会话)都支持用户请求的功能。例如。用户可能希望在Windows上使用Chrome,但有些计算机只在Linux上运行Firefox。

desiredCapabilities用于描述用户请求的会话的功能。您可以参考this linkthis link了解详情。

答案 1 :(得分:0)

 - when user send request to remote machine to run a particular test on
   a particular browser on a particular platform.
 - It doesn't mean that all the remote machine will support all the
   features requested by user such as (Particular browser on a
   particular machine).

**Example:**

 - If user request to execute a testcase on internet explorer on Linux
   platform. It doesn't mean that always Linux machine has internet
   explorer it would have firefox not internet Explorer(Because it is
   open source).
 - Linux machine doesn't support the features requested by a User. so
   that, that point of time we will use DesiredCapabilites class to set
   the platform , Browser Name and version of browser of Remote Machine
   to execute the Test.

答案 2 :(得分:0)

Example:

package grid;

import static org.junit.Assert.*;

import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class SimpleGridTest
{
    WebDriver driver;
    String baseUrl , nodeUrl;

    @Before
    public void setUp() throws Exception 
    {
        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);
    }


    @Test
    public void test() throws InterruptedException
    {
        driver.manage().window().maximize();
        driver.get("https://www.google.co.in");

        driver.findElement(By.linkText("Gmail")).click();
        driver.findElement(By.id("Email")).sendKeys("abc@gmail.com");

        driver.findElement(By.id("Passwd")).sendKeys("1234");

        driver.findElement(By.id("signIn")).click();
    }

    @After
    public void tearDown() throws Exception 
    {
        driver.quit();
    }

}