Click here to edit title

Click here to edit subtitle

Blog

Testing with Selenium using commands While and XPath

Posted by JJ on May 19, 2014 at 4:50 PM Comments comments (1)


So,

I decided to write this post to help with 3 functions of Selenium IDE. And I translate for to english, for my friends Indians, with we study selenium. So, sorry about my english, again. And too, sorry my, brasilian friends what know english best me.


1- Variable

2- While

3- XPath


So, what doing my scrit basicaly?


 

He create an environment for repeatition, and I can insert one any test.


In the example, I insert a test, what was to click in a button "Convidar" of a Facebook fanpage. For this test, I insert a quantity of repeat of 50 times.

Inserting a condition wherein While is until 50, I start to test agin.

 



Well, my test will to click in the button "Convidar" for invite my friends to like fanpage of 4All Tests. But you joke with the script wherever

 


Before ending the condition,  after the test Increment the variable, so, after at 13th test he incrementing the variabel, going for the 14th test(this is an example)



The part interesting, is to use the XPath, and my test get consistent in case where Id of button changes.

 

I post an article translate to portuguese about XPath




So, our test automation like this:


Script


*Look this,  it is important put a bar over there in target, because it is copied whith only a single bar. '//'


So look how our script works



On the step 1, he open the fanpage



Step 1




On the step 2, I declare my variable "QTD" and i change the his value for "1"


Step 2




In step 3, the condition of my command "While" checks if the my variable "QTD" is less than or equal to 50. If so, to do the test, if it is not less than or equal to 50, or 50 is equals or higher (51, ​​52 ...) for this condition and it goes straight to "EndWhile" command.


Step 3




In step 4 I will do all that is in my test, yes(in example), click the invite button.


Step 4




In step 5, after my test I add to the variable "QTD" the value "1" plus the value that is in "QTD".


Step 5



The script for download here https://github.com/testejoaojunior/Selenium/blob/master/While_com_variavel_incremental.html" target="_blank" rel="nofollow">in git.



So, brothers, sorry my english, and I not used google translate, kkkkkk.


And, rememer:

Testing software is not breaking it. It look simple and develops it.

While com variavel incremental

Posted by JJ on May 5, 2014 at 10:35 AM Comments comments (4)

Então, esse post estava aqui esfriando desde o dia 05 de maio(hoje 19).


Resolvi escrever este post pra ajudar com 3 funções do Selenium IDE.


1- Variável

2- While

3- XPath


O que meu script basicamente faz?


Ele cria um ambiente de repetição para eu poder inserir um teste qualquer.

No exemplo, inseri um teste que era clicar no Botão Convidar de uma página do Facebook. Para este teste, inseri uma quantidade de repetições de 50 vezes.

Inserindo uma condição em que Equanto minha variável não atingir o valor de 50, eu rodo o teste.


Veja bem, meu teste vai clicar no botão convidar para convidar os meus amigos para curtirem a página do 4All Testes no Facebook. Mas se você utilizar este script você pode brincar a vontade.


Antes de terminar a condição, logo após o Teste eu incremento a variavel, logo, após o 13° teste ele incrementa a variavel, indo realizar o 14° teste(exemplo).



Uma parte interessante é utilzar o XPath, assim meu teste fica mais consistente caso o Id do botão mude.

Eu publiquei um artigo de um post traduzido sobre XPath.



Então o nosso teste automatizado fica da seguinte forma:


Script


*Note que é importante colocar uma barra a mais no alvo, pois ele é copiado apenas com uma unica barra '//'


Vejamos como nosso script roda:



No passo 1 ele abre a página do facebook.


Passo 1




No passo 2 eu declario minha variavel "QTD" e dou o valor "1" à ela.


Passo 2




No passo 3, o meu comando de condição "While" verifica se minha variável "QTD" é menor ou igual à 50. Caso seja, realiza o teste, se não for menor ou igual a 50, ou seja, for igual a 50 ou maior (51, 52 ...) ele para a condição e vai direto ao comando "EndWhile".


Passo 3




No passo 4 eu vou realizar tudo que está dentro do meu teste, ou seja, clicar no botão convidar.


Passo 4




No passo 5, após meu teste eu acrescento à variável "QTD" o valor "1" mais o valor que estiver em "QTD".


Passo 5



O script pode ser baixado aqui https://github.com/testejoaojunior/Selenium/blob/master/While_com_variavel_incremental.html" target="_blank" rel="nofollow">no git.



Então pessoal, fica ai, este exemplo de While no Selenium IDE. Até mais pessoal.

Xpath

Posted by JJ on May 1, 2014 at 9:20 AM Comments comments (10)

Vamos entender um pouquinho sobre XPath


Você precisa fornecer qualquer elemento localizador(como id, nome, caminho css, XPath, etc) na coluna de destino do selenium, para localizar esse elemento específico e executar alguma ação. Se você conhece Selenium IDE, então você sabe que às vezes não contém elementos de identificação ou nome assim o seu teste para ali. O XPath é uma outra maneira de localizar o elemento e você pode usá-lo como uma alternativa de identificação ou nome do elemento.

 

XPath no documento XML mostra a direção do local do elemento através de nós e atributos. Vamos tentar entender como identificar XPath do elemento com exemplos.

 


A imagem acima é tirada de http://www.wikipedia.org/.


               


Olhe para a imagem, existem três campos

  1. Caixa de texto Input
  2. selecionar cair para baixo
  3. botão de entrada.


E abaixo desses campos há expansão de nós XML relativas através firebug. Como você vê na imagem, você pode usar "id = searchInput" ou "name = search" para identificar a caixa de entrada de texto para digitar algo nele como exemplo dado abaixo.

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typeid=searchInputID Example

Ou

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typename=searchName Example


Tutorial XPath


Agora, se você quer identificar o mesmo elemento (caixa de texto de entrada) com XPath, então você pode usar qualquer uma sintaxe abaixo dada para a coluna de destino com o comando tipo no exemplo acima.

 

Localizando elemento usando XPath com exemplos caixa de texto de entrada para

 

1. Identificar XPath usando caminhocompleto do XML

xpath://body/div[3]/form/fieldset/input[2]/ / / /

Aqui = / / body é o nó raiz principal, / div [3] descreve a terceira div nó filho do nó pai corpo, / form descreve a form nó filho do nó pai div [3] / fieldset descreve o fieldset nó filho de form nó pai, / input [2]descreve a entrada do segundo nó filho do nó pai fieldset.

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[2]Xpath Example1


 

2. EscritaXPath usando last()

xpath://body/div[3]/form/fieldset/input[last()-2]  / / / /

Aqui = / input [last () -2] descreve o nó de entrada superior 3 (entrada [2]) a partir de último nó de entrada.

xpath://body/div[3]/form/fieldset/*[last()-3]  / / / /

Aqui / * [last () -3] descreve o quarto nó superior(entrada [2]) da última nó.

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[last()-2]Xpath Example2



3.Localizador XPath usando @ e atributo

XPath= / / body / div [3] / form / fieldset / input [@ type = 'pesquisar']   // / /

Aqui / input [@ type ='pesquisar'] descreve o nó de entrada com atributo type = 'pesquisar'


New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[@type='search']Xpath Example3


 

4.Expressão XPath usando @ e atributo

XPath= / / corpo / div [3] / form / fieldset / input [@ accesskey = 'F']   // / /

Aqui / input [@ accesskey = 'F'] descreve o nó com atributo de entrada @accesskey = 'F '.


New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[@accesskey='F']Xpath Example4


 

5.Sintaxe XPath usando @ e atributo

XPath= / / input [@ accesskey = 'F']   / / / /

Aqui / / input [@ accesskey = 'F'] descreve o nó de entrada com [email protected] accesskey = 'F' . Experimente por usá-lo em exemplo acima.

 


6.Exemplo XPath usando @ e atributo

XPath= / / input [@ type = 'pesquisar']    / / / /

Aqui / input [@ type = 'pesquisar'] descreve o nó de entrada com atributo type = 'pesquisar'.  Experimente, utilizando-o no exemplo acima.

 


7. XPathXML usando / descendente :: palavra-chave

 

xpath://div[@class='search-container']/descendant::input[@accesskey='F']   // / /

 Aqui eu usei descendente no meio. Neste caso eu descrevi apenas começando div nó com classe de atributo = 'pesquisar-container "e de entrada do nó final com accesskey = atributo' F'. Portanto, não precisa descrever entre os nós.  Experimente por usá-lo no exemplo acima.

 


8. XPathexemplo consulta usando contém palavra-chave

XPath= / / input [contains (@ id ", searchInput")]   // / /

Aqui contém palavra-chave para identificar atributo id com o texto "searchInput".  Experimente, utilizando-o no exemplo acima.

 


9. XPathusando e com atributos

xpath://input[contains(@id,"searchInput") and contains(@accesskey,"F")]   ")]   / / //

Neste exemplo, ele vai olhar para dois atributos no nó de entrada.  Experimente por usá-lo no exemplo acima


10. XMLvalor valor XPath usando posição ()

xpath://div[@class='search-container']/descendant::input[position()=2]   // / /

Este XPath irá selecionar nó de entrada que está na posição de número 2 e é a caixa de texto de entrada para como mostrado na imagem. Experimente por usá-lo no exemplo acima.

 


11.Usando starts-with palavras chave

xpath://input[starts-with(@type,"s")]        // / /  

 Neste exemplo, ele vai encontrar nó de entrada com o atributo é 'tipo' e seu valor está começando com 's '(aqui ele vai ficar type =' search ' ).

 


12.Usando OR (|) com condição XPath

xpath://input[@accesskey='F'] |//input[@id='searchInput']

xpath://input[@accesskey='F' or @id='searchInput'] / / / /

 

Em ambos estes exemplos, ele vai encontrar a caixa de entrada de texto com accesskey = 'F' ou @ id ='searchInput'. Se qualquer um encontrado, então ele irá localizar. Muito útil quando os elementos aparecem como alternativa.


13.Usando curinga * com a encontrar elemento XPath

XPath = / / * [@ accesskey = 'F'] 


14.Encontrar enésimo elemento filho de pai

XPath = / / corpo / * [3] / form / fieldset / * [2]    / / / /

Este XPath é a caixa de texto para pesquisa. Aqui, / * [3] descreve o terceiro elemento filho do corpo, que é div [3]. Do mesmo jeito * [2] descreve o segundo elemento filho de fieldset que é de entrada [2]


Todos os exemplos acima são caixa de texto de entrada para. Agora deixe-me escrever XPath para drop down.

 

ExemplosXPath queda para baixo

1. xpath://body/div[3]/form/fieldset/select

2. xpath://body/div[3]/form/fieldset/select[last()]

3. xpath://body/div[3]/form/fieldset/select[@id='searchLanguage']

4. xpath://body/div[3]/form/fieldset/select[@name='language']

5. xpath://div[@class='search-container']/descendant::select[@name='language']

6. xpath://select[contains(@id,"searchLanguage")]

7. xpath://div[@class='search-container']/descendant::select[position()=1]

8. xpath://body/div[3]/form/fieldset/select[count(*)>1]

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
selectxpath://div[@class='search-container']/descendant::select[position()=1]label=English



Outros Exemplos de XPath


1.Encontrar XPath para o link target 'url'

//a[@href='//meta.wikimedia.org/wiki/List_of_Wikipedias']  / / / /

 Este exemplo XPath vai encontrar ligação com determinada URL (/ / meta.wikimedia.org / wiki /List_of_Wikipedias) na página.

 


2. Encontrar XPath do elemento com nenhuma criança

xpath://img[count(*)=0]   ///// /

Este XPath é para logotipo do texto wikipedia que é exibição na parte superior da página. Este XPath vai encontrar esse elemento de imagem que não tem qualquer elemento filho. Aqui nó imagem é passado e não tem qualquer elemento filho.

 

xpath://div[2]/descendant::img[count(*)=0]   / / / / 

 Este XPath é imagem do logotipo wikipedia que é exibição sob logotipo para texto. 

 



Artigo traduzido de: http://software-testing-tutorials-automation.blogspot.com.br/2013/06/xpath-tutorials-identifying-xpath-for.html

Testando um botao

Posted by JJ on October 2, 2013 at 5:40 PM Comments comments (1)

Um amigo meu Luiz Felipe Fialho, grande desenvolvedor Front-End, posta em seu blog varios tutoriais simples, médios e complexos, para criação web, com html 5, UX entre outros. Então ele desenvolveu um tutorial para criar um botão que desenvolve a usabilidade do usuário(ux). Então resolvi criar um pequeno e simples Projeto de Testes para esta 'demanda'.


Assim, realizei o levantamento, especifiquei os testes, automatizei e executei os testes do botão.


Link do blog: http://www.felipefialho.com/blog/2013/tutorial-botao-de-progresso/#.Uk3VsH-VOhr


 

 

Plano de Testes Execução do clique do Botão

Objetivo do Teste - Validar se o botão está alterando à propriedade

Testes:

  1.     Acessar o blog,
  2.     encontrar o link,
  3.     clicar no link,
  4.     acessar a página de exemplo do botão,
  5.     validar se o botão está na página,
  6.     validar o botão

 

Objetivo do Teste - Validar se o botão está alterando à propriedade

Testes:

    Acessar o blog,

    encontrar o link,

    clicar no link,

    acessar a página de exemplo do botão,

    validar se o botão está na página,

    validar o botão


 

 

Teste 1 - Acessar o blog

 

Ações
    Acessar a página do blog

 

Resultados
    Página carrega e mostra informações do post


 

 

Teste 2 - Encontrar o link

 

Ações
    Procurar o link para o teste do botão

 

Resultados
    Link deve existir na no post


 

 

Teste 3 - Clicar no link

 

Ações
    Clicar no link da página

 

Resultados
    Link direciona à página onde o botão está

 

 

 


Teste 4 - acessar a página de exemplo do botão

 

Ações
    Validar se a página existe    

 

Resultados
    Página redirecionada existe


 

 

Teste 5 - Validar se o botão está na página

 

Ações
    Procurar o botão send

 

Resultados
    Botão send existe


 

 

Teste 6 - Validar o botão

Ações
Passo 1 - Clicar no botão send
Passo 2 - Validar mudança de propriedade e o efeito de processar

 

Resultados
Passo 1 - Botão send altera propriedade e efeito


 

Automação com Selenium.

Arquivo de Testes nos downloads.


Resultado do teste: Sucesso!


O Objetivo do Teste foi realizado sem falhas.


Portanto, é isso pessoal.