IF

21 views
Skip to first unread message

Andre Damasceno Dias

unread,
Oct 14, 2013, 1:38:09 PM10/14/13
to seleniu...@googlegroups.com
Boa tarde,

Alguém tem alguma ideia de corrigir esse if abaixo, não está entrando em nenhuma condição porque o id sempre será igual ao "Itemselecionado"

XML_Item = driver.findElement(By.id("ItemSelecionado"));

              if (XML_Item.equals("Oleo")) {

Não achei muita coisa sobre como fazer um "if" na internet para o Selenium

Elias Nogueira

unread,
Oct 14, 2013, 2:16:30 PM10/14/13
to Andre Damasceno Dias, selenium-brasil
Oi André,
O if em sí é genérico para qualquer linguagem de programação. Sugiro tu dar uma revisada no conceito [1]
Sobre ele não entrar na condição, se tu analisar bem, tem lógica...

Tu estás criado um item chamado XML_Item, onde a localização foi pelo id "itemSelecionado".
Ele deve ter encontrado este elemento....
No teu if tu verifica se o elemento é igual a "Oleo".

O elemento é uma classe do tipo WebElement, e não tem como ela ser igual a "Óleo".

O que, especificamente, tu quer fazer?


--
Elias Nogueira



2013/10/14 Andre Damasceno Dias <andredama...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Selenium Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para selenium-bras...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Andre Damasceno Dias

unread,
Oct 14, 2013, 2:55:07 PM10/14/13
to Elias Nogueira, selenium-brasil
Oi Elias

Já tinha percebido que o if estava errado e que nunca vai entrar nessa condição, só deveria ter informado melhor na dúvida rs
Oleo é o dado dessa variavel, seria o Texto Visivel do campo By.id("ItemSelecionado")
Não estou sabendo fazer esse if, também tentei desse jeito e não foi
Select XML_Item= new Select (driver.findElement(By.id("fluidoSelecionado")));
            XML_Fluido.selectByVisibleText(this.xml);
//this.xml está na planilha excel com o valor Oleo
            if (XML_Fluido.equals("Oleo")) {

--

Andre Damasceno Dias
Analista de testes
Celular: (21) 8758-0608
http://twitter.com/andreddias
Play the game, test the game

Elias Nogueira

unread,
Oct 14, 2013, 2:56:35 PM10/14/13
to Andre Damasceno Dias, selenium-brasil
Primeira coisa: o elemento XML_alguma coisa é de que tipo?

Andre Damasceno Dias

unread,
Oct 14, 2013, 3:00:54 PM10/14/13
to Elias Nogueira, selenium-brasil
Opa copiei errado rs
Seria esse aqui
Select XML_Item= new Select (driver.findElement(By.id("fluidoSelecionado")));
            XML_Item.selectByVisibleText(this.xml);
//this.xml está na planilha excel com o valor Oleo
            if (XML_Item.equals("Oleo")) {

Elias Nogueira

unread,
Oct 14, 2013, 3:05:23 PM10/14/13
to Andre Damasceno Dias, selenium-brasil
Ainda tá faltando lógica...
Tu tem um Select chamado XML_Item que foi encontrado pelo id "fluidoSelecionado"
Tu selecionou um texto visivel pelo this.xml do teu Select
Ai tu quer fazer um if neste texto, mas veja bem, tu ainda continua tentando verificar se o teu elemento (agora o Select) é igual a "Óleo"

O que está faltando? valendo 10 pontos... rs (lembra que isso é questão de lógica)


Andre Damasceno Dias

unread,
Oct 14, 2013, 3:18:24 PM10/14/13
to Elias Nogueira, selenium-brasil
kkkkk
Sabia que era questão de lógica, mas não estava conseguindo resolver de jeito nenhum rs
Agora foi

  if (this.xml.equals("Oleo")) {

Valeu

Elias Nogueira

unread,
Oct 14, 2013, 3:24:28 PM10/14/13
to Andre Damasceno Dias, selenium-brasil
Ainda tem furo...
Ainda falando de lógica...

Tu tem uma variavel (xml) que tem o valor "Óleo".
Tu estás indo até o select e selecionando o texto visível "Óleo"
Se tu mandou ele selecionar este texto, porque tu estás fazendo um if para verificar se o texto é "Óleo"

Esse é o primeiro erro de lógica...

E, porque tu estás fazendo um if por um valor de variável, e não pelo valor que tu selecionou
Segundo erro de lógica...

É mais fácil explicar o que estás pretendendo fazer...

Andre Damasceno Dias

unread,
Oct 14, 2013, 3:33:34 PM10/14/13
to Elias Nogueira, selenium-brasil
Vou fazer umas verificações após ele selecionar esse texto, o if vem depois de clicar em Confirmar que trás uma pesquisa com valores

Se o campo trouxer o tipo oleo vai verificar uns valores, se trouxer outro tipo verifica outros valores
todos os valores estão em uma tabela do excel e variam, por isso do if
Está errado?

Elias Nogueira

unread,
Oct 14, 2013, 3:39:42 PM10/14/13
to Andre Damasceno Dias, selenium-brasil
Sim e não...
Adicionar diferentes validações para diferentes dados de entrada adiciona uma complexidade no teu script que não deveria ter...

Se tu tem o valor ("Óleo") em um arquivo separado, e o tem as verificações tambem no arquivo, porque fazer um if?
Como o teu script está orientado a dados (data driven), na mesma linha que tu tem o valor "Óleo" no arquivo, tu podes colocar os outros valores que tu irás verificar.

A não ser que para cada tipo de item tu tenha uma quantidade diferente de valores.

Andre Damasceno Dias

unread,
Oct 14, 2013, 4:47:55 PM10/14/13
to Elias Nogueira, selenium-brasil
Seria para isso mesmo, para cada tipo de item tem uns valores diferente de valores.
É tipo um relatório que aparece na tela, só que para cada tipo são exibidos valores diferentes
Quando a variavel receber Oleo vai fazer uma consulta, se for oleo vai verificar alguns valores, se for outro tipo verifica outros valores, etc...
Então tá certo né?

Elias Nogueira

unread,
Oct 14, 2013, 6:52:26 PM10/14/13
to Andre Damasceno Dias, selenium-brasil
Esta certo mas nao precisa do if pra isso entao ;)

Sent from my iPhone

Paulo Soares

unread,
Oct 14, 2013, 10:35:05 PM10/14/13
to Elias Nogueira, Andre Damasceno Dias, selenium-brasil
Tenta

"Oleo".equals(XML_Item.getText())

Você não chamou o método que retorna texto (getText do item encontrado). Inverti os operadores do equals para evitar NullPointerException se o getText() vier nulo, mas ainda tem que fazer um try/catch no findEleements para evitar o NoSuchElementException.


Paulo Soares

Andre Damasceno Dias

unread,
Oct 15, 2013, 9:40:01 AM10/15/13
to Paulo Soares, Elias Nogueira, selenium-brasil
Obrigado Paulo
Reply all
Reply to author
Forward
0 new messages