Publicidade - Adsense
Ruby + Cucumber
-
E ae galera, beleza? To com a mesma dúvida do @Lucas-Alvine, na hora de selecionar um item no dropdown. Já tentei de várias maneiras, mas sem sucesso.
código - find(“label”, text: “Tipo da Loja*”).find(:xpath, “…”).click
Consegui dessa maneira fazer com que o menu dropdown seja selecionado, mas não consigo encontrar uma maneira de clicar na opção que eu quero.html
<select id="tipo_empresa" class="initialized" data-val="true" data-val-required="Informe o TIpo da Loja." name="TipoLoja"> <option value="" selected="selected">Selecione</option> <option value="0">Matriz</option> <option value="1">Filial</option> <option value="2">Centro de Distribuição</option> </select>
Já tentei pelo ID, name, mas sempre retorna “Unable to find select box “TipoLoja” (Capybara::ElementNotFound)”
Alguém tem alguma ideia do que possa ser?
obrigado!
-
@dsimoes eu fiz assim:
page.select ‘Acre’, :from => 'uf-segurado’
Daí no seu caso, vai ficar alguma coisa do tipo:
page.select ‘Matriz’, :from => 'tipo_empresa’
Tenta aí!!
Cê consegue executar somente um .rb do step_definitions? Eu tô com 3 aqui no projeto, mas só quero executar um deles, sabe como?
-
cucumber -q features/…/…feature
-
@Lucas-Alvine já tinha tentado dessa maneira e não tinha dado certo. Na verdade, o CSS framework utilizado é o Materialize. Acabei encontrando uma maneira de selecionar o item no dropdown.
find(“label”, text: “Tipo da Loja*”).find(:xpath, “…”).find(“input.select-dropdown”).click
find(“li”, text: “Matriz”).clickDessa maneira está funcionando!.
Ainda não tinha criado mais de um step.rb, pois comecei a usar o Cucumber + Capybara por esses dias e fiquei travado nesse dropdown… rsrs
Mas valeu pela dica, vou tentar utilizar.
-
Entendi @dsimoes. Também tô iniciando com o cucumber e às vezes surgem algumas dúvidas específicas.
Mas blza, qualquer coisa, tamo aí!
-
Pessoal, como eu faço pra poder rodar o teste em outros navegadores?
Achei uma solução, mas não estou conseguiu executá-la.
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
endCapybara.javascript_driver = :chrome
-
@Lucas-Alvine Oi Lucas, vc já viu a Magneton? https://rubygems.org/gems/magneton/versions/0.1.0
é uma gem que criamos aqui na Concrete que gera uma estrutura para os testes usando capybara, siteprism e cucumber.
já vem implementado vários browsers.
aqui tem o env.rb que ela gera https://github.com/concretesolutions/magneton/blob/master/lib/skeleton/features/support/env.rb
tem um repo meu de exemplo tb https://github.com/samycici/loja_integrada_testes
-
Valeu @Samanta-Cicilia vou olhar e adaptar aqui! Valeuuuu :D
-
@Samanta-Cicilia estou com esse problema aqui, talvez você consiga me ajudar. Tentei adaptar o que você me mandou aqui no meu projeto, só que ao executar, acontece este erro:
E tá dando a tela do Chrome com data:, e com a mensagem no prompt:[7140:5400:0222/105345.386:ERROR:child_process_launcher.cc(522)] Failed to launch child process
Já mexi de tudo aqui, e não rolou não.
Tô com um projeto que tem mais de um cenário em diferentes .features.Valeu pela ajuda.
- no firefox tá de boa
-
Boa tarde.
Estou com um problema. Estou executando o seguinte código:
find(:xpath, “/html/body/div/div[26]”).click
Ao executar, ele está abrindo o firefox, e informa que o passo foi executado, porém não está clicando no botão que eu localizei pelo “xpath”. Não é a primeira vez que isso acontece. O complicado é que este botão não tem :id.
Alguém poderia me ajudar?