Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement