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”).click

Dessa 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)
end

Capybara.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

Samy

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?

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.