Chamando navegadores com Baseclass.Contrib.Specflow em C # usando Browser.Current

Atualmente, estou tentando usar o Selenium Grid 2 para executar testes de automação em vários navegadores. Durante a minha pesquisa me deparei com Baseclass.Contrib.Specflow que me permite usar os navegadores como tags nos arquivos de resources sem ter que declará-lo na minha class principal do driver. O problema que tenho é que um dos blogs que eu li tinha o seguinte como o código de configuração

[SetUp] public void Test_Setup(){ CurrentDriver = Browser.Current;} 

A aparência do meu arquivo de configuração do aplicativo contém o seguinte:

   <!--  -->             

Eu recebo um erro quando tento executar o script usando o método de instalação acima.

Erro:

System.Collections.Generic.KeyNotFoundException: A chave fornecida não estava presente no dictionary

O blog que eu recebi esta solução não parece responder a perguntas sobre isso, então estou um pouco desesperado. Isso basicamente permitirá que eu faça o seguinte no arquivo de recurso e faça testes para serem executados com base na tag

 @Browser:Firefox @Browser:Chrome 

Espero que isso seja informação suficiente para me dar conselhos.

O erro que você está cometendo aqui é que você está anotando todo o seu arquivo de recurso com a tag @Browser .

Baseclass.Contrib.Specflow permite que você anote cenários com navegadores de suporte a cenários. Portanto, você precisa anotar cada cenário.

Se você não fizer isso, não haverá nenhum Navegador Atual configurado para esse teste e se tentar acessar o Browser.Current lançará o System.Collections.Generic.KeyNotFoundException .

Você sabe que está fazendo certo quando os Testes de Unidade gerados includeão o nome do Navegador como parte do nome do teste de unidade, como

  on  with:  

Exemplo:

 @Browser:IE @Browser:Chrome @Browser:Firefox Scenario Outline: Add Two Numbers >Given I navigated to / using And I have entered  into summandOne calculator And I have entered  into summandTwo calculator When I press add Then the result should be  on the screen Scenarios: | summandOne| summandTwo|result| | 10 | 20 | 30 | | 3 | 4 | 7 | 
Intereting Posts