Capacidades Desejadas
Desired Capabilities é uma classe no Selenium usada para definir propriedades de navegadores para realizar testes de aplicativos da web em vários navegadores. Ele armazena os recursos como pares chave-valor e esses recursos são usados para definir propriedades do navegador, como nome do navegador, versão do navegador, caminho do driver do navegador no sistema, etc. para determinar o comportamento do navegador em tempo de execução.
- A capacidade desejada também pode ser usada para configurar a instância do driver do Selenium WebDriver.
- Podemos configurar a instância do driver como FirefoxDriver, ChromeDriver, InternetExplorerDriver usando os recursos desejados.
Neste tutorial, você aprenderá-
- O que é capacidade desejada?
- Por que precisamos das capacidades desejadas?
- Diferentes tipos de métodos de capacidades desejadas
- Exemplo para definir o método de capacidade
Por que precisamos das capacidades desejadas?
Os recursos desejados são necessários porque cada cenário de teste deve ser executado em algum ambiente de teste específico. O ambiente de teste pode ser um navegador da web, dispositivo móvel, emulador móvel, simulador móvel, etc. A classe de recursos desejados nos ajuda a informar ao webdriver qual ambiente usaremos em nosso script de teste.
O método setCapability da classe DesiredCapabilities, que é explicado na parte posterior do tutorial, pode ser usado no Selenium Grid. É usado para realizar uma execução paralela em diferentes configurações de máquina.
Ex: grade
É usado para definir as propriedades do navegador (Ex. Chrome, IE), Nome da plataforma (Ex. Linux, Windows) que são usados durante a execução dos casos de teste.
No caso da automação móvel, à medida que realizamos os testes em diferentes variedades de dispositivos móveis, a versão da plataforma da plataforma móvel (ex. IOS, Android) (ex. 3.x, 4.x no Android) pode ser definida.
O exemplo de emulador acima mostra o conjunto de plataforma que é android e o conjunto de versão da plataforma que é IceCream Sandwich (4.x).
As capacidades desejadas são mais úteis em casos como:
- Na automação de aplicativos móveis, onde as propriedades do navegador e as propriedades do dispositivo podem ser definidas.
- Na grade Selenium, quando queremos executar os casos de teste em um navegador diferente com sistemas operacionais e versões diferentes
Diferentes tipos de métodos de capacidades desejadas
Aqui veremos um tipo diferente de métodos de recursos desejados e veremos como usar um dos métodos " 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 (versão java.lang.String)
- getPlatform ()
public Platform getPlatform ()
- setPlatform ()
public Platform setPlatform ()
- Método getCapability
O método getCapability da classe DesiredCapabilities pode ser usado para obter o recurso que está em uso atualmente no sistema.
public java.lang.Object getCapability (java.lang.String capacityName)
- Método setCapability ()
O método setCapability () da classe Desired Capabilities é usado para definir a propriedade de um ambiente de teste, como nome do dispositivo, nome e versão do sistema operacional, nome e versão do navegador, caminho absoluto do aplicativo em teste (o arquivo .apk do aplicativo Android em teste), atividade do aplicativo (no Android) e appPackage (no Java).
O "método setCapability" em Java tem as declarações abaixo:
setCapability: public void setCapability (java.lang.String capacityName, valor booleano)
setCapability: public void setCapability (java.lang.String capacityName, java.lang.String value)
setCapability: public void setCapability (java.lang.String capacityName, Platform value)
setCapability: public void setCapability (java.lang.String key, java.lang.Object value)
Exemplo para definir o método de capacidade
Vamos considerar um exemplo em que queremos executar nosso caso de teste no navegador Internet Explorer para abrir o site www.gmail.com usando o Selenium Webdriver.
A seguir está o código.
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;public class IEtestforDesiredCapabilities {public static void main (String [] args) {Driver WebDriver = novo InternetExplorerDriver ();driver.manage (). window (). maximize ();driver.get ("http://gmail.com");driver.quit ();}}
Agora execute este código do Eclipse e verifique o console.
Resultado:
Ele lançará o seguinte erro quando o código acima for executado. O erro ocorre porque o caminho para o driver do navegador (IE no caso acima) não está definido. O navegador não pôde ser localizado pelo código de selênio.
O caminho para o executável do driver deve ser definido pela propriedade de sistema webdriver.ie.driver; para obter mais informações, consulte http://code.google.com/p/selenium/wiki/InternetExplorerDriver. A versão mais recente pode ser baixada em http://code.google.com/p/selenium/downloads/list
11 de dezembro de 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib
AVISO: Este método de iniciar o driver do IE está obsoleto e será removido no selenium 2.26. Faça download do IEDriverServer.exe em http://code.google.com/p/selenium/downloads/list e certifique-se de que está em seu PATH.
Solução :
A solução para o problema acima é fornecida na seção de aviso do próprio erro.
- Baixe o servidor autônomo do Internet ExplorerDriver para 32 bits ou 64 bits.
- Salve o driver em um local adequado no sistema.
- Defina o caminho para o driver usando o método System.setProperty .
- É usado para definir o driver do IE com a propriedade webdriver. Isso ajuda a localizar o arquivo executável do driver armazenado no local do sistema. (Ex: "C: \ IEDriverLocation \ IEDriver.exe")
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.remote.DesiredCapabilities;public class IEtestforDesiredCapabilities {public static void main (String [] args) {// é usado para definir a capacidade do IECapacidades DesiredCapabilities = DesiredCapabilities.internetExplorer ();resources.setCapability (CapabilityType.BROWSER_NAME, "IE");resources.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, verdadeiro);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// é usado para inicializar o driver do IEDriver WebDriver = novo InternetExplorerDriver (recursos);driver.manage (). window (). maximize ();driver.get ("http://gmail.com");driver.quit ();}}
Explicação do código:
No código acima,
- As instruções de importação são para importar os pacotes necessários para o driver da web selenium, pacotes necessários para o driver do Internet Explorer, pacotes para os recursos desejados.
- setCapability leva os vários recursos como variáveis de entrada que são então usados pelo driver da web para iniciar o aplicativo no ambiente desejado.
- setProperty é usado para definir o caminho onde o driver está localizado. O Web Driver então localiza o driver necessário.
- O site do Gmail é aberto no navegador Internet Explorer usando o método "get".
Resultado:
O caso de teste no navegador Internet explorer será executado com êxito usando o Selenium Webdriver.
Conclusão
A classe Desired Capabilities ajudará a definir um ambiente para definir o comportamento do navegador / ambiente no qual o teste pode ser executado.
Isso ajuda a lançar nosso aplicativo no ambiente desejado, tendo os recursos que desejamos usar.
Este artigo é uma contribuição de Krithika Ramkumar