Created
June 4, 2019 20:59
-
-
Save douglasmartins7/618806764266a0134a0edb2f52603b23 to your computer and use it in GitHub Desktop.
Métodos para verificação
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1) Primeiro iremos verificar os elementos com Assert(Afirmação). | |
1)assert_all_of_selectors | |
Afirma que todos os seletores fornecidos estão presentes na página ou nos descendentes do nó atual. | |
2)assert_none_of_selector | |
Afirma que nenhum dos seletores fornecidos está presente na página ou nos descendentes do nó atual. | |
2)assert_matches_selector | |
Afirma que o current_node corresponde a um determinado seletor. | |
4)assert_selector | |
Afirma que um determinado seletor está na página ou um descendente do nó atual. | |
5)assert_text | |
Afirma que a página ou o nó atual possui o conteúdo de texto especificado, ignorando quaisquer tags HTML. | |
2) Agora afirmando que o elemento não existe na tela com o Assert_not(afirmar que não) | |
1)assert_not_matches_selector | |
Afirma que o current_node não corresponde a um determinado seletor. | |
2)assert_no_selector | |
Afirma que um determinado seletor não está na página ou descendente do nó atual. | |
3)assert_no_text | |
Afirma que a página ou o nó atual não tem o conteúdo de texto especificado, ignorando quaisquer tags HTML. | |
3) Verificando elemento com o “Has(Tem)”. | |
1)has_checked_field? | |
Verifica se a página ou o nó atual tem um botão de opção ou caixa de seleção com o rótulo, valor ou ID fornecido, que está atualmente marcado. | |
2)has_select? | |
Verifica se a página ou o nó atual tem um campo de seleção com o rótulo, o nome ou o ID fornecido. | |
3)has_selector? | |
Verifica se um determinado seletor está na página ou um descendente do nó atual. | |
4)has_table? | |
Verifica se a página ou o nó atual possui uma tabela com o ID ou a legenda especificada | |
5)has_text? | |
Verifica se a página ou o nó atual tem o conteúdo de texto especificado, ignorando todas as tags HTML. | |
6)has_unchecked_field? | |
Verifica se a página ou o nó atual tem um botão de opção ou caixa de seleção com o rótulo, valor ou ID fornecido, que está atualmente desmarcado. | |
7)has_xpath? | |
Verifica se uma determinada expressão XPath está na página ou um descendente do nó atual. | |
8)has_button? | |
Verifica se a página ou o nó atual possui um botão com o texto, valor ou id fornecido. | |
9)has_css? | |
Verifica se um determinado seletor de CSS está na página ou um descendente do nó atual. | |
10)has_field? | |
Verifica se a página ou o nó atual tem um campo de formulário com o rótulo, o nome ou o ID fornecido. | |
11)has_link? | |
Verifica se a página ou o nó atual tem um link com o texto ou o ID fornecido. | |
4) Verificando elementos que não estão na tela com o “Has_no(Não Tem)”. | |
1)has_no_checked_field? | |
Verifica se a página ou o nó atual não tem nenhum botão de opção ou caixa de seleção com o rótulo, valor ou ID fornecido, que está atualmente marcado. | |
2)has_no_select? | |
Verifica se a página ou o nó atual não tem campo de seleção com o rótulo, nome ou id fornecido. | |
3)has_no_selector? | |
Verifica se um determinado seletor não está na página ou um descendente do nó atual. | |
4)has_no_table? | |
Verifica se a página ou o nó atual não possui tabela com o ID ou legenda especificada. | |
5)has_no_text? | |
Verifica se a página ou o nó atual não possui o conteúdo de texto especificado, ignorando qualquer tag HTML e normalizando o espaço em branco. | |
6)has_no_unchecked_field? | |
Verifica se a página ou o nó atual não tem botão de opção ou caixa de seleção com o rótulo, valor ou ID fornecido, que está atualmente desmarcado. | |
7)has_no_xpath? | |
Verifica se uma determinada expressão XPath não está na página ou descendente do nó atual. | |
8)has_no_button? | |
Verifica se a página ou o nó atual não possui um botão com o texto, valor ou id fornecido. | |
9)has_no_css? | |
Verifica se um determinado seletor de CSS não está na página ou um descendente do nó atual. | |
10)has_no_field? | |
Verifica se a página ou o nó atual não possui um campo de formulário com o rótulo, nome ou ID fornecido. | |
11)has_no_link? | |
Verifica se a página ou o nó atual não tem link com o texto ou o ID fornecido. | |
5) Verificando elementos com o Matches(Combina). | |
1)matches_css? | |
Verifica se o nó atual corresponde ao seletor de CSS especificado. | |
2)matches_selector? | |
Verifica se o nó atual corresponde ao seletor especificado. | |
3)matches_xpath? | |
Verifica se o nó atual corresponde a determinada expressão XPath. | |
6) Verificando os elementos não combinam com o Not_Matches(Não Combina). | |
1)not_matches_css? | |
Verifica se o nó atual não corresponde ao seletor de CSS fornecido. | |
2)not_matches_selector? | |
Verifica se o nó atual não corresponde ao dado seletor. O uso é idêntico ao has_selector ?. | |
3)not_matches_xpath? | |
Verifica se o nó atual não corresponde à expressão XPath fornecida. | |
Opções: | |
Esses métodos também contém opções para ajudar na busca desses elementos: | |
count(Integer) | |
Número exato de elementos que se espera encontrar. | |
maximum(Integer) | |
Número máximo de elementos que se espera encontrar. | |
minimum(Integer) | |
Número mínimo de elementos que se espera encontrar. | |
between(Range) | |
O número de correspondências encontradas deve estar dentro do intervalo determinado | |
exact(Boolean) | |
Controlar se as expressões ‘is’ no determinado Xpath correspondem exatamente ou parcialmente. | |
wait(Integer) | |
Por padrão o wait usa o Capybara.defaullt_max_wait_time como tempo padrão.Mas você pode passar o tempo para esperar que as expectativas de contagem de elementos se tornem verdadeiras | |
Agora vamos falar de espera de elementos na tela com SitePrism: | |
O Site Prism nos temos alguns métodos para esperar elementos estarem na tela: | |
1)wait_for_<elemento> (obs: está descontinuado a partir da versão 3.0.0 do Site_Prism) | |
Espera que um elemento esteja presente na página; | |
2)wait_until_<elemento>_visible | |
Espera que um elemento até ele ficar visível na página; | |
3)wait_until_<elemento>_invisible | |
Espera que um elemento esteja até ele ficar invisível na página; | |
4)has_<elemento> | |
Verifica que o elemento esteja na tela. | |
5)has_no_<elemento> | |
Verifica que o elemento não esteja na tela. | |
Agora vamos falar de Verificar elementos com RspecMatchers: | |
have_all_of_selectors ⇒ Verifica se os elementos correspondentes a um grupo de seletores existem . | |
have_button ⇒ Verifica se a página ou o nó atual possui um botão com o texto, valor ou id fornecido. | |
have_checked_field ⇒ Se a página ou o nó atual tiver um botão de opção ou uma caixa de seleção com o rótulo, valor ou ID fornecido, que está marcado no momento. | |
have_css ⇒ Verifica se um determinado seletor de CSS está na página ou um descendente do nó atual. | |
have_current_path ⇒ Afirma que a página tem o caminho fornecido | |
have_field ⇒ Verifica se a página ou o nó atual tem um campo de formulário com o rótulo, o nome ou o ID fornecido. | |
have_link ⇒ Verifica se a página ou o nó atual tem um link com o texto ou o ID fornecido. | |
have_none_of_selectors ⇒ Afirma que nenhum dos seletores fornecidos está presente na página ou nos descendentes do nó atual. | |
have_select ⇒ Verifica se a página ou o nó atual tem um campo de seleção com o rótulo, o nome ou o ID fornecido. | |
have_selector ⇒ Afirma que um determinado seletor está na página ou um descendente do nó atual. | |
have_table ⇒ Verifica se a página ou o nó atual tem uma tabela com o ID ou legenda fornecida | |
have_text ⇒ Afirma que a página ou o nó atual possui o conteúdo de texto especificado, ignorando quaisquer tags HTML. | |
have_title ⇒ Verifica se um determinado título esta na página. | |
have_unchecked_field ⇒ Verifica se a página ou o nó atual tem um botão de opção ou caixa de seleção com o rótulo, valor ou ID fornecido, que está atualmente desmarcado. | |
have_xpath ⇒ Verifica se uma determinada expressão XPath está na página ou um descendente do nó atual. | |
match_css ⇒ Verifica se uma quantia determinada CSS está na página ou descendente do seu atual. | |
match_selector ⇒ Afirma que o current_node corresponde a um determinado seletor | |
match_xpath ⇒ Correspondente RSpec para saber se o elemento atual corresponde a um determinado seletor de xpath. | |
Este post sobre wait_for_ajax é uma tradução do post original da Thoughtbot. | |
Wait_for_ajax | |
Capybara é muito bom em esperar por AJAX. Por exemplo, esse código continuará verificando a página do elemento para Capybara.default_max_wait_time segundos, permitindo que as chamadas AJAX terminem: | |
Mas há momentos em que isso não é suficiente. Por exemplo, neste código: | |
Temos uma condição de corrida entre click_link e reload_page. Às vezes, a chamada AJAX passa antes que a Capybara recarregue a página, e às vezes não. Esse tipo de teste não determinístico pode ser muito difícil de debugar, então eu adicionei um pequeno helper. | |
Helper: | |
Nós automaticamente incluímos todos os arquivos em /support em nosso helper.rb, então este arquivo é automaticamente requerido. Como apenas as especificações de recursos podem interagir com a página por meio de JavaScript ,O auxiliar usa a variável jQuery.active, que rastreia o número de solicitações AJAX ativas. Quando é 0, não há solicitações AJAX ativas, o que significa que todas as solicitações foram concluídas. | |
Veja como eu uso: | |
Agora não há nenhuma condição de corrida: a Capybara irá esperar que a solicitação de amizade do AJAX seja concluída antes de recarregar a página. | |
Se for usar dentro de um page objects basta incluir o módulo | |
Não há documentação oficial no jQuery.active, pois é uma variável interna, mas essa resposta do Stack Overflow é útil. Para ver como precisamos de todos os arquivos na especificação / suporte, leia nosso modelo spec_helper. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment