Selenium - correspondência de padrões IDE
Assim como os localizadores, os padrões são um tipo de parâmetro freqüentemente usado pelo Selenium. Ele permite que os usuários descrevam padrões com a ajuda de caracteres especiais. Muitas vezes, os textos que gostaríamos de verificar são dinâmicos; nesse caso, a correspondência de padrões é muito útil.
A correspondência de padrões é usada com todos os comandos de ponto de verificação - verifyTextPresent, verifyTitle, verifyAlert, assertConfirmation, verifyText e verifyPrompt.
Existem três maneiras de definir um padrão -
- globbing
- expressões regulares e
- padrões exatos.
Globbing
A maioria dos técnicos que usaram padrões de correspondência de arquivo no Linux ou Windows ao pesquisar um determinado tipo de arquivo como * .doc ou * .jpg. estaria familiarizado com o termo "globbing"
Globbing no Selenium suporta apenas três caracteres especiais: *,? E [].
* - corresponde a qualquer número de caracteres.
? - corresponde a um único caractere.
[ ]- chamada de classe de caractere, permite que você combine qualquer caractere único encontrado entre colchetes. [0-9] corresponde a qualquer dígito.
Para especificar um glob em um comando Selenium, prefixe o padrão com a palavra-chave 'glob:'. Por exemplo, se você deseja pesquisar os textos "ano fiscal 2013" ou "ano fiscal 2014", pode usar o golb "ano fiscal *" conforme mostrado abaixo.
No entanto, o uso de "glob:" é opcional ao especificar um padrão de texto porque os padrões globbing são o padrão no Selenium.
Comando | Alvo | Valor |
---|---|---|
clickAndWait | link = pesquisa | |
verifyTextPresent | glob: ano fiscal * |
Padrões Exatos
Os padrões com o prefixo 'exato:' corresponderão ao texto fornecido como ele é. Digamos que o usuário deseja uma correspondência exata com a string de valor, ou seja, sem o operador glob fazer seu trabalho, pode-se usar o padrão 'exato' conforme mostrado abaixo. Neste exemplo, o operador '*' funcionará como um caractere normal em vez de um caractere curinga de correspondência de padrão.
Comando | Alvo | Valor |
---|---|---|
clickAndWait | link = pesquisa | |
verifyValue | exato: * .doc |
Expressões regulares
As expressões regulares são as mais úteis entre as técnicas de correspondência de padrões disponíveis. Selenium suporta o conjunto completo de padrões de expressão regular que o Javascript suporta. Portanto, os usuários não são mais limitados por *,? e [] padrões de globbing.
Para usar os padrões RegEx, precisamos prefixar com "regexp:" ou "regexpi:". O prefixo "regexpi" não diferencia maiúsculas de minúsculas. Os padrões glob: e os exact: são os subconjuntos dos padrões de Expressão Regular. Tudo o que é feito com glob: ou exact: pode ser realizado com a ajuda de RegExp.
Exemplo
Por exemplo, o seguinte testará se um campo de entrada com o id 'nome' contém a string 'ano fiscal', 'Ano fiscal' ou 'Ano fiscal'.
Comando | Alvo | Valor |
---|---|---|
clickAndWait | link = pesquisa | |
verifyValue | id = nome | regexp: [Tt] ax ([Yy] orelha) |