Robot Framework - Trabalhando com Dropdown

Neste capítulo, aprenderemos como trabalhar com o menu suspenso usando a Biblioteca Selenium.

Configuração do projeto para teste suspenso

Vamos primeiro criar um projeto no Ride para trabalhar com navegadores. Abra o passeio usando ride.py na linha de comando -

Clique em Novo Projeto e dê um nome ao seu projeto.

O nome fornecido é suspenso. Clique em OK para salvar o projeto.

Clique com o botão direito no nome do projeto criado e clique em Novo Caso de Teste -

Dê um nome ao caso de teste e clique em OK para salvá-lo.

Concluímos a configuração do projeto. Agora, vamos escrever casos de teste para o menu suspenso. Como precisamos da biblioteca Selenium, precisamos importar a mesma em nosso projeto.

Clique em seu projeto no lado esquerdo e use Biblioteca de Adicionar Importação como mostrado abaixo -

Agora, clique em Biblioteca . Uma tela aparecerá onde você precisa inserir o nome da biblioteca -

Clique em OK e a biblioteca será exibida nas configurações.

O nome dado deve corresponder ao nome da pasta instalada nos pacotes do site.

Caso o nome não corresponda, o nome da biblioteca aparecerá em vermelho -

A importação da biblioteca em vermelho é tão boa quanto a biblioteca não existe dentro do python. Agora terminamos com a importação da biblioteca de selênio.

Caso de teste para lista suspensa

O caso de teste para a lista suspensa selecionará o valor da lista suspensa. Para trabalhar com isso, precisamos do localizador (identificador) desse menu suspenso.

Considere a seguinte exibição de html para lista suspensa -

<select name = "carbrand">
   <option value = "">Select car brand..</option>
   <option value = "audi">AUDI</option>
   <option value = "bmw">BMW</option>
   <option value = "chevrolet">CHEVROLET</option>
   <option value = "datsun">DATSUN</option>
</select>

Para lista suspensa, o nome é o localizador . No exemplo acima, o nome é carbrand . Também precisamos do valor para que possamos selecioná-lo. Os valores no exemplo acima são - audi, bmw, chevrolet e datsun .

Agora, vamos criar uma página de teste com dropdown, abrir a mesma no navegador e selecionar o valor no dropdown.

Os detalhes do caso de teste serão os seguintes -

  • Abrir URL do navegador - http://localhost/robotframework/dropdown.html em cromo

  • Insira os detalhes do menu suspenso

  • Execute o caso de teste

Ao escrever a palavra-chave para casos de teste em RIDE, pressione Ctrl + Barra de espaço. Isso fornece todos os detalhes do comando.

Para o menu suspenso, temos três maneiras de fazer isso -

  • Selecione na lista por índice
  • Selecione na lista por etiqueta
  • Selecione na lista por valor

Vamos trabalhar em um exemplo para mostrar o funcionamento de todos os casos mencionados acima.

Em nossa página de teste, criaremos 3 menus suspensos e usaremos os casos de teste acima para selecionar o menu suspenso por índice, rótulo e valor.

dropdown.html

<html>
   <head>
      <title>Dropdown</title>
   </head>
   <body>
      <form name="myform" method="POST">
         <div>
            Dropdown By Index:
            <select name = "months">
               <option value = "">Select Months.</option>
               <option value = "Jan">January</option>
               <option value = "Feb">February</option>
               <option value = "Mar">March</option>
               <option value = "Apr">April</option>
               <option value = "May">May</option>
               <option value = "Jun">June</option>
               <option value = "Jul">July</option>
               <option value = "Aug">August</option>
               <option value = "Sept">September</option>
               <option value = "Oct">October</option>
               <option value = "Nov">November</option>
               <option value = "Dec">December</option>
            </select>
         </div>
         <br/>
         <br/>
         <div>
            Dropdown By Label:
            <select name = "days">
               <option value = "">Select Day..</option>
               <option value = "01">01</option>
               <option value = "02">02</option>
               <option value = "03">03</option>
               <option value = "04">04</option>
               <option value = "05">05</option>
               <option value = "06">06</option>
               <option value = "07">07</option>
               <option value = "08">08</option>
               <option value = "09">09</option>
               <option value = "10">10</option>
               <option value = "11">11</option>
               <option value = "12">12</option>
               <option value = "13">13</option>
               <option value = "14">14</option>
               <option value = "15">15</option>
               <option value = "16">16</option>
               <option value = "17">17</option>
               <option value = "18">18</option>
               <option value = "19">19</option>
               <option value = "20">20</option>
               <option value = "21">21</option>
               <option value = "22">22</option>
               <option value = "23">23</option>
               <option value = "24">24</option>
               <option value = "25">25</option>
               <option value = "26">26</option>
               <option value = "27">27</option>
               <option value = "28">28</option>
               <option value = "29">29</option>
               <option value = "30">30</option>
               <option value = "31">31</option>
            </select>
         </div>
         <br/>
         <br/>
         <div>
            Dropdown By Value:
            <select name = "year">
               <option value = "">Select year..</option>
               <option value = "0">2000</option>
               <option value = "1">2001</option>
               <option value = "2">2002</option>
               <option value = "3">2003</option>
               <option value = "4">2004</option>
               <option value = "5">2005</option>
               <option value = "6">2006</option>
               <option value = "7">2007</option>
               <option value = "8">2008</option>
               <option value = "9">2009</option>
               <option value = "10">2010</option>
               <option value = "11">2011</option>
               <option value = "12">2012</option>
               <option value = "13">2013</option>
               <option value = "14">2014</option>
               <option value = "15">2015</option>
               <option value = "16">2016</option>
               <option value = "17">2017</option>
               <option value = "18">2018</option>
            </select>
         </div>
      </form>
   </body>
</html>

Adicionaremos casos de teste para todas as 3 opções suspensas em Ride.

Para índice, precisamos passar o localizador desse menu suspenso - nome ou id e o índice do elemento que precisa ser selecionado.

Selecionar lista por índice - exemplo

<select name = "months">
   <option value = "">Select Months.</option> // index 0
   <option value = "Jan">January</option> //index 1
   <option value = "Feb">February</option> // index 2
   <option value = "Mar">March</option> // index 3
   <option value = "Apr">April</option> // index 4
   <option value = "May">May</option> // index 5
   <option value = "Jun">June</option> // index 6
   <option value = "Jul">July</option> // index 7
   <option value = "Aug">August</option> // index 8
   <option value = "Sept">September</option> //index 9
   <option value = "Oct">October</option> //index 10
   <option value = "Nov">November</option> //index 11
   <option value = "Dec">December</option> // index 12
</select>

Agora, queremos selecionar o mês como maio, de modo que o índice a ser dado no caso de teste seja 5.

O rótulo é visto quando você abre o menu suspenso na tela.

Se você deseja selecionar um dia, pode escolher um no menu suspenso.

Selecione na lista por valor

Aqui está a lista do ano. A lista possui valores de 0 a 18.

<select name = "year">
   <option value = "">Select year..</option>
   <option value = "0">2000</option>
   <option value = "1">2001</option>
   <option value = "2">2002</option>
   <option value = "3">2003</option>
   <option value = "4">2004</option>
   <option value = "5">2005</option>
   <option value = "6">2006</option>
   <option value = "7">2007</option>
   <option value = "8">2008</option>
   <option value = "9">2009</option>
   <option value = "10">2010</option>
   <option value = "11">2011</option>
   <option value = "12">2012</option>
   <option value = "13">2013</option>
   <option value = "14">2014</option>
   <option value = "15">2015</option>
   <option value = "16">2016</option>
   <option value = "17">2017</option>
   <option value = "18">2018</option>
</select>

Se você deseja selecionar qualquer ano, pegue o valor correspondente ao ano e adicione o mesmo em caso de teste. Por exemplo, se você deseja selecionar o ano de 2017, o valor é 17.

Aqui está a lista final de casos de teste -

Após a execução, aqui está a seleção feita para menus suspensos com base no caso de teste -

Detalhes de execução

Detalhes do relatório

Detalhes de registro

Detalhes do caso de teste do registro

Conclusão

Vimos como trabalhar com a lista suspensa por valor, índice e rótulo. Podemos consultar os logs e relatórios para obter os detalhes do caso de teste executado.