Sua dúvida pode ser útil para outros leitores. Comente nessa página.
lucasws
Queria saber se tem uma outra opção para determinar um 'timeout' além do comando 'WaitForCondition' ….. ou se tem como anular o falso erro que esse comando dá. valeu
seuenium
Há alguma particularidade em usar o comando waitForCondition? Qual a condição que você está esperando? Geralmente os comandos waitForElementPresent e waitForVisible são suficientes e mais simples.
seuenium
Há alguma particularidade em usar o comando waitForCondition? Qual a condição que você está esperando? Geralmente os comandos waitForElementPresent e waitForVisible são suficientes e mais simples.
lucasws
o teste que eu quero fazer é de tempo de inatividade da interface… após 15 minutos a sessão expira e a interface atualiza, retornando a tela de login… por isso preciso determinar um tempo de espera.. tem como fazer isso com os comandos que você falou?
seuenium
Use o comando setTimeout para definir o tempo de espera em milisegundos. Em seguida vc pode usar o comando waitForElementPresent e esperar por algum elemento que só existirá nessa tela de login. Agora outra dica, será que vale automatizar esse teste? Sua suite de testes vai ficar esperando por 15 minutos. Será que não tem como diminuir esse tempo de expiracão quando o teste estiver rodando? Fica a dica.
lucasws
Não tem como diminuir esse tempo porque é o comportamento esperado da solução.. vou tentar com o setTimeout e com o WaitForElementPresent como você falou, eu tentava usar esse primeiro comando sozinho, ai nunca dava.. rs uma outra dúvida agora.. qual a melhor forma de executar os testes feitos no IDE (executar naquele 'test runner' é muito estranho)? Tem alguma forma de emitir algum tipo de relatório de execução? Obrigado pela ajuda, estou começando a aprender sobre testes automatizados agora e o seu blog tem sido de grande utilidade.
seuenium
O ideal mesmo é usar uma linguagem de programação e usar a API do Selenium. Mas como vc está começando, a IDE ajuda muito. Para gerar relatórios, da uma olhada nesse post http://www.seuenium.com.br/2009/01/20/como-roda....
2010/6/16 Disqus <>
lucasws
oK, vou dar uma olhada no post.. quanto a primeira dúvida, testei o comando SetTimeout juntamente com o WaitForElementPresent, porém acho que não vai funcionar porque após os 15 minutos de inatividade a página não atualiza sozinha… é necessário que o usuário atualize a página ou tente realizar alguma ação como clicar em um menu por exemplo… ai sim a página de login aparece….. alguma sugestão? obrigado novamente.
seuenium
Entendi. Para você fazer isso pela IDE, vc vai ter que usar o comando setSpeed. Esse comando configura o tempo de execucao entre um comando e outro. O valor default é zero. Ficaria mais ou menos assim: open / setSpeed 5000 setSpeed 0 clickAndWait link=Sobre Note que setei o valor para 5000 e em seguida já setei para 0. Isso fará com que o Selenium espere por 5 segundos, volte para o valor original e continue com o seu teste.
lucasws
ahhh, entendi.. acho que isso deve funcionar. Amanhã testo e posto o resultado! obrigado.
lucasws
Funcionou!!! era exatamente isso que eu tava querendo fazer mesmo… e agora sem o erro do 'waitForCondition' … obrigadão
le_coutinho
Para abrir minha aplicação, digito uma URL e dai é aberto um popup para digitar login/senha, e quando autenticado, os menus e a aplicação sao visualizados nesse popup. Quando uso o IDE para gravar os testes automáticos, isso é reconhecido sem problemas. Quando uso o Selenium Test Runner ele abre uma janela nova, e o popup aperece na “meia tela” também mostrando a navegação. Porém, quando uso o Selenium RC ele abre a tela de “debug”, mas quando o 1o comando (chamar a URL) é apresentado ele abre uma nova janela e com isso os testes são abortados… Tentei usar na chamada do servidor a tag -singleWindow, mas apesar da tela aparecer “dividida” como no Selinum Test Runner, o pop up continua sendo aberto em uma nova janela… Algum dica de como deixar o pop up na mesma tela do debug?
PS: Estou usando o firefox… o IE ainda não consegui usar no Selenium RC… isso será uma segunda pergunta depois
seuenium
Nunca passei por esse problema… Você está usando o comando selectWindow? E a versão do RC, é a última?
le_coutinho
Estou usando o selenium-remote-control-1.0.3 Dai, entro no cmd.exe, na pasta de minhas suites (html) e executo:
Abre a tela, com duas “divisões”, clico no TC… quando ele executa o 1o comando que é o open <<link>> ele abre uma nova janela em vez de abrir na “divisão de baixo” da tela.
seuenium
O comando que você roda está correto. Mas pelo que parece, a própria página faz abrir uma nova janela. E se isso ocorre mesmo, essa janela nunca vai abrir na divisão de baixo.
le_coutinho
Isso. Ele abre mesmo, mas quando eu chamo via Test Runner ele abre uma página similar, com duas divisões, e ele aparece em baixo. Dai, queria entender como ele “conseguiu” fazer isso. OU se tem como eu controlar o debug mesmo abrindo uma nova janela…
Guh_rj
Caros,
Estou com problemas no captcha, existe alguma maneira de “descobrir” o captcha? Ou entao do selenium IDE ler, e jogar no campo?
Atualmente estou utilizando o pause com 30s para a pessoa incluir
Guh_rj
Se estiver usando o Selenium IDE, use o comando refresh
seuenium
O Captcha é justamente um mecanismo para garantir que um ser humano é quem está preenchendo um formulário, o que é o oposto do Selenium, que funciona como um robô. Uma outra solucão, além do pause, é se você alterasse a sua aplicacão para subir num modo de teste, em que ela sempre aceitaria um determinado valor para o captcha. E é claro que esse modo de teste nunca deveria entrar em producão.
Guh_rj
E possivel o selenium IDE executar uma arquivo dentro do c: ? Pois se sim, vou colocar um alarme antes do captcha, para nao esquecer do passo !
seuenium
Não é possível executar um arquivo do disco. O que vc poderia fazer no seu caso é injetar um javascript pelo comando 'runScript' para escrever algum objeto na tela que emita som, exemplo: <embed src=”file:///tmp/sound.wav” autostart=”true”>
2010/7/10 Disqus <>
roberiocf
Senhores, estou com o seguinte problema com o selenium RC: Estou utilizando o mesmo para executar TestSuites, antes estava utilizando da seguinte forma: java -jar c:…selenium-server.jar -port 1234 -htmlSuite *firefox URL_INICIAL c:..suite.html c:..resultado.html Assim estava funcionando normalmente, mas surgiu a necessidade de executar o teste em mais de um browser, no caso o internet explorer, assim mudei o parametro '*firefox' por '*iexplorer', o que não deu certo, aparecendo o seguinte erro: HTML suite exception seen: java.lang.RuntimeException: sessionId 4803 doesn't exist;… Tentei passar outros parametros, conforme a documentação, como '*iehta', mas também não deu certo. Além disso futuramente terei a necessidade de executar testes em versões diferentes do mesmo browser, por isso resolvi usar o seguinte método:
Porém desta forma o teste não funciona, e me aparace o seguinte erro: “Not Found The requested URL /selenium-server/core/TestRunner.html was not found on this server.” Alguem sabe se esta realmente é a melhor forma de utilizar o Selenium RC para a minha necessidade (executar testes em mais de um browser e usando mais de uma versão de cada browser), e, se for, o que estou fazendo de errado?
Pessoal estou com um problema gostaria de Ajuda. o sistema no qual estou trampando e de gestao de Horarios, INclui, Exclui alterar, as horas trabalhadas por dia do funcionario
1 . Acesso o Sistema e incluo no Campo Horas = 8.0 Descrição = Teste 2.apos incluir sistema apresenta a mensagem de Sucesso numa “Caixa” “PopUp” “Horas incluiidas com Sucesso” OK”.
não consigo no selenium pressionar o OK dessa caixinha popUp.
gostaria de saber como eu faço pra conseguir isso??
estou utilizando a linguangem de programação Java! estou utilizando os mesmos métodos do selenium1, ja tentei diferentes tipos de sintaxe mas nenhuma funciona…
muito obrigado desde de já pessoal
seuenium
É um caixa de alerta em Javascript que aparece? Se sim, logo após o click, vc tem que usar o método para verificar o alerta. Exemplo: selenium.click(“//input”); assertEquals(“Horas incluidas com Sucesso”, selenium.getAlert());
Se não for javascript, vc terá que entrar nesse popup, que é uma janela nova. Use o comando selectWindow passando o title do popup.
PauloTEstador_Bacen
sim é uma Caixa de Alerta em JavaScript após acionar o botão “Salvar” obs: até aqui consegui validar
o sistema apresenta uma caixa de alerta “Horas incluidas! “OK” porém não consigo pressionar o OK.
estou utilizando o SeleniumRC2.0
PauloTEstador_Bacen
seu enium vc pode me encaminhar um exemplo de Cada um desses que você citou?
seuenium
Acho mais simples você me passar um exemplo em html e javascript do que a sua página faz. Após o comando de click no botão “Salvar”, dá erro na execução do comando assertEquals(“Horas incluidas com Sucesso”, selenium.getAlert()); ???
PauloTEstador_Bacen
coloquei esse comando mas não funcionou… eu preciso de um comando que possa clicar no OK na caixa PopUP
seuenium
Paulo, Cada caso é um caso. Você está falando em popup, mas o que aparece é uma caixa em js. São coisas totalmente distintas. Sem um exemplo seu, fica difícil de te dar a resposta correta. Nessa caixa aparece um botão de cancelar e outro de OK? Se sim, vc pode usar o comando chooseOkOnNextConfirmation.
Hoje trabalho com QA em um portal de internet, e temos uma página para downloads que realizamos uma rotina diária de testes para monitoramento.
Pois bem, tenho um caso de teste que é validar o aparecimento do msgbox de Download, esse script do Selenium IDE faz abertura da página, preenchimento de campos, validação de textos, botões e imagens e por final clica no botão de download, é aberta a janela porém ela fica aberta aguardando um click para iniciar ou não o download.
Hoje fazemos a validação manual, mas é possível o Selenium IDE validar e/ou fechar essa “janelinha de download”?
Fico no aguardo!
PauloTEstador_Bacen
Seu Enium poderia t encminha a pag html por aqui??
r_martins
o correto tambem seria *iexplore (sem o R)
http://ricardomartins.info/ Ricardo Martins
Seu Enium, boa tarde. Meu nome é Ricardo Martins, trabalho no Apontador/Maplink como desenvolvedor php. Há alguns dias ganhei a missão de tentar automatizar alguns testes para IE6, 7,8 e FF, usando o Selenium. No entanto, boa parte das minhas tentativas foram frustradas. Temos 3 VM's, uma com cada IE. Comecei com PHPunit. Tava tudo indo bem, até que tive dificuldades em executar a mesma suite de testes nos 3 environments diferentes. Alguns testes davam timeout aleatóriamente, nos teste mais simples. O RC simplesmente não reconhecia que a página havia carregado. Depois de brigar bastante, testar diversas versões de RC, imaginei que o problema era o PHPUnit.
Passei entao pro JUnit. Parou de travar, porém não consegui executar de forma automatica a mesma suite em varios environments, como (quase) conseguia em php. Talvez por não manjar muito de Java…
Até configurei o selenium-grid, mas também não vi muita vantagem a fim de resolver o problema de testar varios navegadores.
Com a sua experiência no ramo, é realmente possível ter um ambiente de testes com multiplos environments, de forma 100% automática, sem intervenção humana e sem muitas 'gambs' com selenium + php ?
seuenium
O Selenium não consegue interagir com esse box de download. O que você pode fazer no seu caso é configurar um profile no firefox para sempre salvar os arquivos num mesmo lugar. Há algumas outras alternativas para testar download também. Dá uma olhada nesse post: http://blog.codecentric.de/en/2010/07/file-down...
seuenium
Olá Ricardo, Ótima questão!!! É possível sim você configurar um ambiente com Selenium Grid, máquinas virtuais e browsers e versões diferentes. Mas vale lembrar algumas coisas: 1- No windows só é possível rodar uma instância de RC utilizando o IE. Isso porque o IE salva algumas coisas no registro do windows e pode dar conflito entre testes 2- Sua expressão em xpath pode não rodar em alguns browsers ou pode demorar mais do que o normal. A dica é tentar usar mais css selectors ao invés de xpath. 3- Se vc tem certificados expirados isso pode ser um problema
Bom, lembrei desses agora pois foram os problemas que enfrentei quando montei um ambiente desse no UOL. O Selenium Grid é bom você usar pois ele centraliza as instâncias que vc tem e seu teste só precisa conhecer o IP da máquina central do grid. Ele também serve para vc poder executar seus testes em paralelo para ganhar tempo. Com relação ao PhpUnit, não posso te responder se ele tem problemas com o Selenium. Eu uso mais Junit e é bem simples. Uma coisa que faço é usar o esquema de variáveis de ambiente do Java com um valor default, ex: System.getProperty(“browser”,”*firefox”). Com isso, se eu rodar o teste sem passar a propriedade 'browser', vai assumir o valor default *firefox. Outra coisa que pode te ajudar é o Maven, onde vc pode criar profiles para seus testes, mas isso é um pouco mais chato pra quem tá começando com Java. Mas se vc tiver dúvida, pede ajuda pro Chester, ehehe!!!
http://twitter.com/chesterbr Chester
Eita, 302 Talk to Chester não vale! Ainda passeando nas terras geladas, Seu Enium? Abraço!
seuenium
Vc é o cara né Chester, conhece de tudo e de todas linguagens!!! Voltei essa semana. O Chile é um tremendo país e o frio é só um detalhe, vc se acostuma!!! Falowwwww!!!!
Anônimo
PauloTEstador_Bacen,
cara, o que vc fez para resolver o seu problema?
estou tendo um problema semelhante
falou, um abraço
Anônimo
Seu Enium,
Primeiro de tudo, me desculpe enviar um email enchendo o saco com perguntas, mas já varei a internet e acredito que não vou achar uma resposta para minha pergunta. Estou montando um ambiente de teste utilizando o Selenium RC e o PHPUnit. Quero testar um sistema em dois browsers diferentes, IE e Firefox. Como estou no Linux (Debian Lenny) instalei o IEs4Linux.
Montei o script OK, configurei o *custom para lançar meu IE6, mas o bendito não funciona. Ele lança a URL, mas lança de forma errada. No Firefox, tudo OK, mas no IE, ele acaba tentando abrir a URL do Selenium RC em cima da do teste (no meu caso, Google.com). Já mandei ele usar localhost e 4444 para o browser, mas nada. Espero que tu possas me ajudar. Obrigado desde já.
Anônimo
Olá Klaus, eu já passei por um problema parecido. Quando comecei a usar o Selenium, também quis rodar os testes do IE de dentro do linux usando o crossover. Depois com o tempo e diversos problemas, resolvi usar um ambiente com máquinas virtuais windows e linux e Selenium Grid. Mas, se vc ainda quer tentar subir um IE emulado no Linux, vc pode fazer um hack.
No meu caso eu usei o apache. Não sei exatamente o que acontece com o Selenium, mas ele ele tenta abrir o path do selenium-server dentro do domínio do teste. Ex: http://www.google.com/selenium-server/*
O que eu fiz foi criar um virtualhost no apache com regras de rewrite para fazer proxy pro Selenium e para o domínio do teste. Ex:
ServerName selenium-server.local
ServerAlias http://www.google.com
RewriteEngine on
ProxyRequests on
ProxyPreserveHost on
Com essas regras, tudo que for /selenium-server vai para o Selenium, o que não for vai para o ip da aplicação ( 72.14.253.104 é o ip do google).
No seu hosts, vc terá que ter uma entrada para o google.com e selenium-server.local apontando para 127.0.0.1 (ou o ip que seu apache sobe).
Depois é só alterar no seu teste o ip do selenium server para selenium-server.local.
Vc vê que não é algo trivial, é uma gambiarra, mas até que funciona.
Testa aí e depois fala se deu certo. Faz um tempo que fiz isso e não lembro se ainda funciona. Boa sorte!!!!!
http://pulse.yahoo.com/_RZKO5KENVHS6DE6ZYFGSJ4W6GM Diego
Seu enium
trabalho com flex.
como faço pra interagir o selenium com sites flex ?
obrigado
Boa tarde. Instalei o IDE (1.0.7), ele aparece como extensao no (Menu Ferramentas -> COmplemento ), mas nao aparece no Menu -> Ferramentas -> IDE como deveria ocorrer. O que pode ser isso? (O firefox é o 3.6.8)
Detalhe: Nesse mesmo PC o IDE já havia sido instalado em Julho. Após algumas semanas, retomei esse PC e nao esta mais aparecendo a IDE (nem a antiga, que estava instalada, nem a nova, mencionada acima).
Obg
Anônimo
Utilizo a mesma versão de Firefox e IDE e funciona perfeitamente. Mas vamos ver se consigo ajudar. O seu profile do Firefox pode estar corrompido, então remova o profile atual e crie um novo: “firefox.exe -P”. Você pode estar usando uma instância do Firefox que foi inicializada pelo Selenium RC, com isso nenhuma extensão sua é visualizada, já que o Selenium sobe o Firefox com um profile limpo. Outra coisa que pode estar acontecendo é que vc instalou a IDE e não reiniciou o Firefox, uma janela ficou faltando fechar. Isso acontece sempre comigo com a janela de download.
Espero que te ajude. Valeu!!!
Anônimo
Funcionou, valeu!!
Anônimo
Olá Seu Enium, venho pedir ajuda novamente
Utilizando o Selenium IDE, preciso fazer a seleção de um label, porém quando faço a seleção dentro desse label é informada a data atual… Consigo executar no momento, mas assim que a data atual entrar em discordância com a data atual do label irá parar de funcionar… e então segue a minha pergunta:
Consigo selecionar um label sem utilizar todo o campo?? Pegando apenas uma parte dele ou retirando alguma parte dele??
O ‘.*’ faz com que a regexp consuma qualquer caractere.
Anônimo
Era exatamente isso… funcionou perfeitamente.
Obrigado novamente
Anônimo
Oi Seu Enium,
Devido a natureza de minha aplicação eu estou com problemas para usar o selenium RC; Mas consigo usar o IDE normalmente. Baseado nisso, a minha pergunta é: É possivel fazer testes em paralelo usando o selenium IDE? consigo ter alguma forma de fazer isso?
Obg.
Anônimo
Vejo que a IDE deveria ser usada só para quem está iniciando ou quando o site é muito simples, mas muito simples mesmo… Na IDE vc é limitado, não consegue fazer coisas básicas, como loop e condição. Até existem extensões para isso, mas eu não aconselharia. O ideal mesmo é você usar uma linguagem de sua preferência. Você ganha maior flexibilidade, reuso de código, organização e por aí vai. Tem um post que fala bem sobre isso: http://www.seuenium.com.br/2010/03/09/evoluindo.... Bom, respondendo sua pergunta, eu não conheço nenhuma extensão para a IDE que paralelize seus testes, a única forma que conheço é usando uma linguagem mesmo.
Anônimo
Seu Enium, mais uma dúvida,
estou testando uma interface de cadastro de usuários e para alterar ou excluir um determinado usuário é necessário setar um checkbox, quando faço isso pelo IDE ele seta o checkbox pelo ID desse usuário… Queria saber se teria como setar um determinado checkbox utilizando o nome do usuário que vem no campo ao lado.. ex:
[ ] Usuário1
[ ] Usuário2
[ ] Usuário3
Como faria pra setar o checkbox do Usuário2 por exemplo? Lembrando que pela ID não resolve meu problema..
Obrigado!
Anônimo
Ok, obrigado seu Enium.
Realmente terei que entrar mais “dentro do codigo”. Estava vendo por alto o que poderia ser feito so pelo time de testes daqui de forma mais automática com o minimo de “customização”, mas entendi o ponto que voce explicou. Obg mais uma vez.
Anônimo
Você tem várias maneiras de fazer isso com Xpath e depende muito do markup como foi feito. Você pode dar uma olhada nas funções de xpath preceding-sibling::* e ancestor::*. Vc também consegue usar “..” como se vc estivesse navegando num diretório, subindo para o nó pai. Ex: //label[text()='Usuario1']/../input[@type='checkbox']
Anônimo
Tentei fazer dessa maneira mas não consegui..
Vou tentar facilitar o entendimento, quando eu clico no primeiro checkbox da lista o seguinte código é gerado no IDE:
click
arrayCheckboxGrupos
Quando vou clicando nos outros checkbox ele começa a pegar o ID do usuário, ex:
click
//input[@name='arrayCheckboxGrupos' and @value='19']
teria como manipular essa função para ao invés de ‘@value’ utilizar o nome do usuário?
obrigado novamente.
Anônimo
Fazer isso que você quer depende muito de como o html está na página, pois o texto não pertence ao input. Em alguns casos só será possível fazer essa seleção se houver uma alteração no template.
Quando você quer automatizar um teste, você não tem que ficar atento só ao que aparece na tela, você tem que ver e entender o código fonte da página. Só assim você vai poder escolher o melhor locator que se adequa ao seu teste. A IDE te auxilia bastante, mas em muitos casos você tem que ir além dela.
Envia o trecho do html referente aos checkboxs. Vamos ver se é possível fazer essa seleção sem alteração nenhuma.
Seu Enium estou com uma duvida, estou começando a trabalhar com o selenium aqui na empresa em um sistema web, existe um campo em um determinado cadastro que é uma sugest e o selenium não esta gravando quando clico nela so grava a primeira parte da palavra que escrevo, o que devo fazer?
http://twitter.com/pedrocelso Pedro Celso
Seu Enium! Tô com um problemão!
Eu tenho que automatizar o acessa a um sistema que tem um certificado de segurança próprio, e o firefox me encaminha para aquela página de ‘Adicionar Excessão’.
Eu não consegui de jeito nenhum alterar isso, eu adicionei a excessão no firefox, mas sempre que o selenium abre o firefox é como se ele criasse um novo profile a se esquece da excessao.
Eu tentei instalar esse complemento no firefox: http://sejq.blogspot.com/2009/01/remember-certificate-exception.html
Mas também não funcionou, pelo mesmo motivo do firefox não armazaenar os complementos da sessão do selenium.
Você já teve algum problema parecido?
Anônimo
Por default, o Selenium sempre sobe com um profile do firefox novo e limpo. O que você tem que fazer nesse caso, é forçar o Selenium a usar um profile seu configurado para aceitar o certificado expirado ou com essa extensão que você mencionou. Para fazer isso, rode o server da seguinte maneira:
java -jar selenium-server.jar -firefoxProfileTemplate
Anônimo
Tente usar uma sequência de comandos keyPress com cada letra separada.
Anônimo
Opa..
Seu Enium, seguinte, eu uso a funcao para maximizar as janelas pelo Selenium IDE windowMaximize, porem eu gostaria de restaura-las, é possivel ?
Anônimo
Não tem um comando para restaurar a janela, mas você pode chamar uma função Javascript para redimensionar a janela. Exemplo:
runScript | window.resizeTo(800,600);
http://ricardomartins.info/ Ricardo Martins
Agradeço um pouco atrasado, mas obrigado pela ajuda Seu Enium. Foi rápido e
preciso.
O Chester mandou um abraço, rs.
Valeu!
Você saberia uma solução para o erro abaixo do Selenium IDE?
# [info] Executing: |click | //img[@alt='Estado Pesquisar (nova janela)'] | |
# [info] Executing: |waitForPopUp | lookup | 30000 |
# [info] Executing: |selectWindow | name=resultsFrame | |
# [error] Window does not exist. If this looks like a Selenium bug, make sure to read http://seleniumhq.org/docs/04_selenese_commands.html#alerts-popups-and-multiple-windows for potential workarounds.
Pois quando o link seleniumhq.org/docs/04_selenese_commands.html, não encontro nenhuma resposta.
Desde já agradeço,
Adriane Cunha
Anônimo
O problema é que o Selenium não conseguiu achar a janela com o nome especificado. Essa mensagem que a IDE mostra só atrapalha. Você tentou usar |selectPopUp | lookup| ?
http://twitter.com/gustavocaxa Gustavo Carvalho
Oi Seu Enium, tudo tranquilo ?
Estou tentando automatizar a tarefa de excluir um registro no banco de dados do meu sistema php. Ao clicar num botão “Excluir”, o sistema chama uma janelinha de confirmação, através de javascript. Como faço para automatizar essa operação ?
Tentei os seguintes comandos sem sucesso:
$this->chooseOkOnNextConfirmation()
$this->waitForConfirmation(utf8_encode(“ATENÇÃO! Confirma a exclusão ?”));
Qualquer ajuda é bem-vinda !
um abraço,
Gustavo
Anônimo
Por default, vc não precisa usar o comando chooseOkOnNextConfirmation(), mas se vc quiser usá-lo, ele tem que vir antes do comando de click. Ex:
$this->chooseOkOnNextConfirmation();
$this->click(“//input”);
$this->waitForConfirmation(“ATENÇÃO! Confirma a exclusão ?”);
http://twitter.com/gustavocaxa Gustavo Carvalho
Muito obrigado pela ajuda Seu Enium !
Era exatamente esse o problema: em que ordem deveria vir o comando chooseOkOnNextConfirmation.
grande abraço,
Gustavo
Anônimo
Seu Enium, como faço para clicar em um box de download do firefox usando o IDE?? Aqueles que aparecem por default, que são do firefox mesmo, sabe?!
Valeu!
http://twitter.com/lucasmarconi13 Lucas Marçoni
Oi bom dia,
Vou descrever meu problema e veja se pode me ajudar.
Uso o IDE do selenium apenas para criar e exportar códigos C# para teste unitário.
Implementei tudo corretamente em um projeto Windows Application no Visual Studio e rodo estes teste com o NUnit e SeleniumRC rodando normalmente (tudo como default).O objetivo é realizar testes unitário automáticos em um projeto Web Application aqui na empresa onde trabalho.
Então ai está o meu problema, sempre que o nUnit(junto ao SeleniumRC) executa um teste ele fecha a janela do browser e abre uma outra janela, o que implica na necessidade de efetuar login para todos os testes que estão sendo executados. Uma vez que o sistema sempre que reconhece uma nova sessão do browser que não está logada redireciona o usuário para sua página de login.
Tentei fazer alterações no código dos testes e no ‘[SetUP]‘ construtor que é interpretado pelo seleniumRC no momento que o NUnit executa os testes e não obtive sucesso. Estou pesquisando pela net e encontro algumas coisas como ‘NÃO tem jeito, tem q fazer login sempre que executar um novo teste’ e etc.
Obrigado antecipadamente, à disposição. Abraços.
Anônimo
Não conheço o NUnit, mas parece que ele tem o [TestFixtureSetUp] que é parecido com @BeforeClass do Junit. Esse cara só é chamado uma vez para todos os testes da mesma classe. Há também a opção de subir o selenium server com o parâmetro -browserSessionReuse, mas nesse caso a dependência entre os testes será bem maior.
Sim NUnit trabalha com [TestFixtureSetUp], e por isso achei que não teria jeito.
Mas resolvi ontém mesmo explorando os comandos do SeleniumRC, utilizei os comandos juntamente com a chamada com servidor e ta funcionando como eu esperava “-ForcedBrowserMode *firefox -singleWindow -BrowserSessionReuse”… KKK usei foi tudo de uma só vez! Tentei fazer os testes com e sem um ou outro desses três e preferi deixar todos juntos.
Mas vamos ver se isso vai me trazer algum problema para frente… Muito obrigado bom dia!
Anônimo
Bom dia
Tenho três duvidas:
1° Salvei os testes na minha maquina com o selenium IDE e eles não rodam em mais nenhuma maquina, da erro de id de elemento. Como devo proceder?
2° Nos testes que eu realizo tenho que selecionar duas linhas no grid, como posso fazer isso?
3° Não seleciona uma opção no combobox. Eles são elementsos richfaces.
Obrigada
http://twitter.com/Lucas_Farias_ Lucas Farias
Seu Enium,
sobre o Testes em paralelo com Selenium Grid, Maven e TestNG
eu criei um projeto, funcionou blz, porem tenho uma duvida!
eu gostaria de realizar o teste com varios browser diferentes como isso vai ser possivel, se eh setado um defaultselenium.
outra, sabe alguma ferramenta que rode as aplicações graficas em memoria, pra nao ficar exibindo as paginas na tela? ouvi falar no Xvfb, porem tive um pouco de problema pra instalar ele aqui!
fico no aguardo!
Anônimo
Desculpa a demora para responder. Vamos lá:
1- Talvez você tem que esperar os elementos aparecerem na tela antes de fazer alguma ação. O teste pode rodar mais rápido ou mais devagar em outras máquinas. Dê uma olhada nos comando waitFor*.
2- Não sei se entendi direto, mas você pode dar uma olhada no comando dragAndDrop
3- Isso é muito específico da sua aplicação. Tem que olhar o código html e entender o que acontece quando você seleciona um elemento no combo. Talvez o mesmo problema dos comandos waitFor*
Anônimo
Olá Lucas,
O que eu faço é usar system properties do Java passando o tipo do browser. No código fica algo como:
new DefaultSelenium(“localhost”, 4444, System.getProperty(“browser”), “http://seuenium.com.br”);
Depois disso eu configuro mais de uma execução pro maven-surefire-plugin e pra cada uma eu seto a propriedade do browser, exemplo:
*firefox
Eu não sou um usuário avançado de TestNG, então não sei se tem algo mais fácil.
Com relação a sua outra dúvida, há a alternativa de rodar um vncserver no seu linux e antes de subir o selenium server, dá um export na variável DISPLAY para usar o display do vnc.
Espero ter ajudado.
http://twitter.com/Lucas_Farias_ Lucas Farias
Obrigado por essa ajuda…
só que não funcionou como esperado não!
Most likely your original newBrowserSession command failed.
ele não consegue conectar no browser
eu fiz isso no meu Pom.xml
org.apache.maven.plugins
maven-surefire-plugin
*firefox
tests
2
ou seria de outra maneira?
desculpa ae a insistência .
http://twitter.com/Lucas_Farias_ Lucas Farias
Seu Enium,
gostaria de saber como que eu posso separar o testes por grupo usando o Maven, eu configuro meu pom.xml é?como que configura isso?
tipo eu quero separar um grupo pra o firefox, um pro IE e outro pro chrome, quero rodar cada teste independente, um grupo por vez,
pq como eu to rodando agora chama todos, eu uso o comando mvn clean install..
e como que eu separo cada um desses grupos no Target, pra cada grupo ter seu report?
agradeço desde já!
Anônimo
O ideal é você trabalhar com profiles no maven. Tenta dar uma olhada aqui: http://maven.apache.org/guides/introduction/introduction-to-profiles.html
Para cada profile, você pode alterar configurações dos plugins, assim vc consegue modificar onde os relatórios seráo gerados. Talvez eu faça um post demonstrando passo a passo como configurar.
http://twitter.com/Lucas_Farias_ Lucas Farias
seu enium, olha eu novamente,
é o seguinte, eu tenho uma lib minha que já ta configurada pra mandar email e talz
eu to configurando ela no pom.xml, e baixa corretamente e coloca ela no meu repositorio de todas as libs baixadas no projeto e eu pego essas libs e importo pro meu buildpath.
so que quando eu rodo os testes fica dizendo que o pacote ao qual a lib pertence não existe, gostaria de saber se tem algum segredo na importação de lib local no maven, ou se eh algum erro besta meu!
se puder me tirar essa duvida. grato!
Anônimo
Ola tenho uma duvida, se puder me ajudar eu agradeço.
eu criei alguns testes na minha maquina, agora quero colocar eles para ficar rodando de forma automatica em um servidor, so que ele é linux e não tem nenhum browser nele, tem como eu rodar os testes la pra testar nos diversos browsers? existe alguma maneira de simular eles?
se puder me tirar essa duvida ficarei grato!
Anônimo
Existem duas maneiras: 1) xfvb 2) VNC
Eu particularmente prefiro o VNC porque dá pra conectar remotamente e ver o que está acontecendo. Infelizmente ainda não tenho nenhum post falando como configurar.
Anônimo
Pode ser que esteja faltando alguma dependência no seu pom, ou então você está usando algum repositório que não é oficial e a dependência pode estar incompleta.
Anônimo
Olá, Seu Enium.
Estou enfrentando um problema no Selenium. Para a criação dos scripts estou utilizando o Selenium IDE. Criei um script que preenche dois campos, aperta o botão “Consultar” e o sistema traz uma tabela de acordo com os dados que foram passados. No script eu reconheço os nomes das colunas, para isso utilizei o comando “waitForText” passando no campo “alvo” o endereço exato da coluna na tabela e no campo “Valor” o nome da coluna. Para reconhecer os valores apresentados nessa tabela, eu utilizei o comando “waitForText” novamente, sendo que ao invés de passar no campo “Valor” o valor exato que está na tabela, eu resolvi criar uma expressão regular para cada uma das células na primeira linha desta tabela, garantindo, assim, que mesmo que os dados mudem, o script reconheça os valores. Segue um exemplo de cada comando:
1)Comando para reconhecer o nome da coluna:
Comando: waitForText
Alvo: //table[@id='ctl00_ContentPlaceHolder1_GridViewInclusoes']/tbody/tr[1]/th[1]
Valor: ID Titular
2)Comando para reconhecer o valor que se encontra na primeira célula da tabela:
Comando: waitForText
Alvo: //table[@id='ctl00_ContentPlaceHolder1_GridViewInclusoes']/tbody/tr[2]/td[1]
Valor: regexp: *[0-9]{1,9}|
O script está rodando perfeitamente pelo Selenium IDE, o problema está ocorrendo quando eu tento rodá-lo no Internet Explorer, através do trio Selenium RC + Eclipse + JUnit. Ao chegar no comando para reconhecer o nome da coluna ele começa a carregar indefinidamente até dar timeout. Eu percebi que ele não está conseguindo reconhecer nenhum componente da tabela. Ele sempre fica carregando por um tempo, até ele desistir. Gostaria de saber se você teria alguma solução para este problema. Qual seria a melhor maneira de reconhecer elementos numa tabela?
Desde já agradeço.
Anônimo
Seu enium, me tira uma duvida,
na minha pagina de teste quando eu efetuo o login abre uma outra pagina com os dados que eu tenho que eu tenho que editar e talz…
queria saber se existe algum comando que faça o selenium identificar que ele deve mudar para a janela nova que abriu, sabe dizer
grato!
http://pulse.yahoo.com/_NOAJR7W6GOOSMLBCBPOGH53ZFY Igor
Seu Enium,
Gostaria de saber se ao efetuar um teste no Silenium IDE, a ferramenta me gera algum Relatório? E como faço para vizualizar esses Relatórios?
Olá Thiago, desculpa o atraso para responder. Xpath no IE não funciona direito, eu tentaria usar CSS Selector que além de funcionar praticamente em todos os browsers, é muito mais rápido.
Anônimo
seu enium, tenho uma duvida, se puder me ajudar
eu tenho que clicar em um elemento na pagina só que é em flash entao nao da pra usar o click normal,
estou tentando usar mousedown e mouseUp, no elemento onde o flash esta só que isso não esta funcionando,
entao vc sabe como que faz para realizar um click do mouse sem usar o “click”,
se puder me tirar esa duvida agradeço!
http://twitter.com/klekika Kleice Silva
Existe algum plugin que gera nomes, email, datas de nascimento… aleatórios? Estou precisando para testes de cadastro, baixei o Utilities4Testing-1.2.1, mas não encontrei o comando para essa função.
Muito legal que você achou a solução e compartilhou aqui no blog. Parabéns!!!!
Anônimo
Eu realmente não sei se existe algum plugin para isso, mas acho que não é muito complicado escrever uma função que retorne esses dados aleatoriamente.
http://twitter.com/klekika Kleice Silva
Por exemplo?
http://twitter.com/thadeu_soares Thadeu Soares
Meu caro, no exemplo que você deu para gerar uma imagem com o selenium em caso de erro, como eu crio uma regra geral para meus testes que herda de SeleneseTestCase? Pois quando inclui o @Role ele simplesmente ignora o fato dela existir. Percebi que esse comportamento acontece numa classe de teste que herda de outra, se ele for simplesmente uma classe normal ele funciona. Você saberia me ajudar?
http://twitter.com/thadeu_soares Thadeu Soares
Prezado, como eu faço para que o @Rule (conforme exemplo de gerar imagens via Selenium) funcione em uma classe que herda de SeleneseTestCase? Realizo os testes, eles quebram mas não passam pela Rule. Percebi que isso ocorre quando minha classe de teste herda de qualquer outra.
Anônimo
Oi preciso saber se o title de um determinado span está correto. Porém pelo getText não está dando.
assertTrue(selenium.getText(“//div[@id='msgCmbTaxaContribuinte']/span”).equals(“Escolha uma taxa.”));
Alguma sugestão para que eu possa fazer isso?
Situação abaixou:
Anônimo
Aparentemente o que vc fez está correto, mas tenta não usar o assertTrue. O ideal nesse caso é usar o assertEquals, pois se a comparação for diferente, você vai ver uma mensagem mais explicativa contendo as strings que foram comparadas.
Anônimo
Primeiramento obrigada pela resposta.
Tentei o que você disse mas apareceu o seguinte erro:
junit.framework.ComparisonFailure: null expected: but was:
Debugando o código verifiquei que selenium.getText(“//div[@id='msgCmbTaxaContribuinte']/span”) retorna uma string vazia (“”).
Alguma outra sugestão?
Anônimo
Oi, tenho um texto que só aparece quando eu saio de focus de um determinado campo. Na mão funciona perfeitamente, mas rodando os testes do selenium nunca consigo mostrar este texto, porque não consigo simular essa situação e assim eu nunca consigo testar este valor. Alguém tem alguma sugestão ?
Desde já agradeço
Anônimo
Olá Seu Enium,
estou tendo um problema semelhante ao “PauloTEstador_Bacen”, mas como já vi o “cleuberjs” sem resposta, vou postar meu problema:
Tenho que selecionar uma opção que é aberta em uma segunda janela do browser. Eu estou na tela, e clico em “pesquisar”, abrindo uma segunda janela com as opções em “checkbox”. Seleciono a opção desejada e clico em “selecionar”, que é onde está ocorrendo (ou não) o erro. Percebi que se eu rodar passo a passo o teste, clicando pacientemente na tecla “x”, o teste funciona, mas se rodo todo, não funciona…
Trecho do código //COMENTÁRIOS MEUS:
click
tipoCondicaoComercialApontador
click
//img[@alt='Pesquisar'] // AQUI ABRE A SEGUNDA TELA COM AS OPÇÕES
selectWindow
null
clickAt
//input[@name='apontadorSelecionado' and @value='12'] // OK, SELECIONA/MARCA A OPÇÃO DESEJADA NO CHECKBOX
clickAndWait
//div[@id='btn_line']/a[1]/img // AQUI OCORRE O PROBLEMA, NÃO ENVIA A OPÇÃO PARA A TELA QUE PRECISO, SÓ ENVIA SE FAÇO MANUALMENTE…
selectWindow
null
typeKeys
produtoNome // ERRO, POIS O APONTADOR “NÃO FOI SELECIONADO” ….
elixir de inhame
Desde já, muito obrigado
Anônimo
Pois é, também preciso de uma resposta … o que será que o cara fez??!!?!?!?!?
Anônimo
Vc falou que quando roda em pausas, dá certo.
O que utilizo é pedir para aguardar até que um determinado texto ou elemento apareça, para então ele realizar a próxima ação.
as vezes utilizo o Thread mesmo (isso dentro do java)
falou, um abraço!
Sandro Tadeu Malta de Souza
O que eu quis dizer é passo a passo, rodando direto já inseri um monte de pausas, mas nem assim funcionou.
Mais um detalhe, é que percebi que o botão de seleção é enviado por um javascript:
…
…
E esse maldito “javascript:sendSelected();” é que ele não seleciona no automático ….
Anônimo
Quando vc executa manualmente vc segue todos os passos da automatização?
digo isso, por ter acontecido comigo, e só descobri quanto fiz todo o processo, realizei todo o caso de teste.
Descobri que estava em locais diferente, o teste manual e o automatizado, quase me bati.
Se não for isso tenta dar um mouseOver antes de clicar, aconteceu comigo em um combobox
falou, um abraço!
Sandro Tadeu Malta de Souza
Manualmente = abro o Selenium, seleciono o teste e vou apertando a tecla “x” (passo a passo) até o fim, assim funciona o que preciso …. mas quando aperto no “Play” do Selenium, pára no problema …. não seleciona o botão “Selecionar” na 2ª janela aberta com as opções de chckbox ….
Anônimo
Blz, entendi
Espero que te dê alguma idéia na página aberta, selecione somente o campo que está dando problema e tente ver se roda, tente outros comandos, faça um teste para saber se o selenium reconhece a presença do elemento.
Só posso dar idéias, mas espero que solucione, e se solucionar, poste ai para a gente
Falou!
Sandro Tadeu Malta de Souza
Valeu cleuberjs, continuo tentando e sim:
- O Selenium reconhece o alvo (//div[@id='btn_line');
- Sim, continuo tentando achar uma solução;
- Inclusive tentei inserir um javascript na linha do alvo (tirei daqui a dica: http://migre.me/3N12m) ficando a linha nova do Alvo: javascript{["//div[@id='btn_line']/a[1]/img”].join(‘btn_line’)} Porém continua o mesmo problema ….
Anônimo
blz, é isso ai
tente
tire o clickAndWait, e coloque somente click
se não der certo tente.
inserir mouseOver //div[@id='btn_line']/a[1]/img
antes de
clickAndWait //div[@id='btn_line']/a[1]/img
se não der certo,
altere o caminho do path
se não der certo,
tente dar dois cliques, sendo que o primeiro não precise de tempo de espera
falou, um abraço!
Sandro Tadeu Malta de Souza
Humm…. que tipos de “wait” eu poderia usar apenas para dar tempo do Selenium ir fazendo passo a passo? eu fiz uns “waitforallfields” que apesar de dar erro, o teste segue, parece que dá tempo do selenium “pensar” e fazer os próximos passos…. Mas vou tentar as dicas cleuberjs. Valeuuuu
Anônimo
Blz, qualquer coisa posta ai para a gente.
falou, um abraço!
Sandro Tadeu Malta de Souza
Pois é, eu tô já faz uns 4 dias tentando passar por esse problema. Tentei várias coisas, inclusive os dois clicks da sua sugestão, e nada funcionou. Agora como desespero, fui pro código e comecei a comparar a primeira janela onde funciona tudo com a segunda janela das opções e reparei em algumas diferenças (vitais …). Falei com o pessoal de desenv e vão inserir os “id” que estão faltando no código….. Agora vou esperar e tentar novamente, espero que seja isso mesmo! Assim que retestar, insiro o resultado aqui. Valeu cleuberjs.
Sandro Tadeu Malta de Souza
Bah, sem chances, não consegui resolver, nem inserindo os “ids” na segunda janela que abre. Não sei mais o que fazer … Seu Enium, alguma dica?
Anônimo
Qual o erro que o Selenium retorna? O elemento não existe? Dá timeout? Se vc conseguir essa informação fica mais fácil tentar descobrir o problema. Mas vamos lá.
No primeiro selectWindow, você não deveria passar null, deveria ser o windowId dá nova janela ou então o title. E antes mesmo do selectWindow, o certo seria você esperar pela janela com o comando waitForPopUp. Outro problema poderia ser o clickAndWait que vc chama em seguida. Tente usar o click, chamar o selectWindow|null e em seguida usar um waitFor* para o elemento que vc espera que apareça na página, vc estará fazendo o clickAndWait na mão. Uma outra coisa que poderia te ajudar a debugar é usar o setSpeed|1000 no começo do seu teste, assim cada comando só será executado a cada 1 segundo e aí você verá se seu problema é com os waits.
Boa sorte, hehe!!!
Sandro Tadeu Malta de Souza
Ok Seuenium, li sua resposta, sobre o speed, eu passo de Fast pra Slow em todos os testes. Vou atualizar com as dicas e já posto aqui.
Sandro Tadeu Malta de Souza
O resultado foi:
* [info] Executing: |setSpeed | 3000 | |
* [info] Executing: |open | /cliente/home.cgi | |
* [info] Executing: |clickAndWait | link=Digitar Pedido | |
* [info] Executing: |select | filialId | label=CLIENTE 123 |
* [info] Executing: |waitForVisible | filialId | |
* [info] Executing: |select | slCliente | label=12345 – MEDICAN – 000.000.000/0000-00 |
* [info] Executing: |waitForVisible | slCliente | |
* [info] Executing: |click | tipoCondicaoComercialApontador | |
* [info] Executing: |click | //img[@alt='Pesquisar'] | |
* [info] Executing: |waitForPopUp | Layout | 30000 |
* [info] Executing: |selectWindow | name=Layout | |
* [info] Executing: |click | //input[@name='apontadorSelecionado' and @value='12'] | |
* [info] Executing: |waitForPageToLoad | | |
// ATÉ AQUI OK, ELE SELECIONA O APONTADOR “12″
* [info] Executing: |mouseOver | //a[@id='sendSelected']/img | |
//AQUI É O PROBLEMA, ELE NÃO “CLICA” NO BOTÃO SELECIONAR E A JANELA NÃO FECHA
* [info] Executing: |click | //a[@id='sendSelected']/img | |
* [info] Executing: |waitForPageToLoad | | |
//MESMO ESTANDO “NULL” ELE VOLTA PARA A PRIMEIRA JANELA E CONTINUA
* [info] Executing: |selectWindow | null | |
//OK, FUNCIONA:
* [info] Executing: |type | produtoNome | %%% |
* [info] Executing: |click | //div[@id='myContainer']/div/div[2]/ul/li[1] | |
* [info] Executing: |type | quantidade0 | 50 |
//AQUI É O PROBLEMA, COMO O APONTADOR NÃO FOI RECEBIDO, ELE DÁ A MENSAGEM DE ALERTA/ERRO NA HORA DE GERAR O PEDIDO:
* [info] Executing: |click | //img[@alt='Adicionar'] | |
* [info] Executing: |click | //a[@id='gerarPedidos']/img | |
* [error] There was an unexpected Alert! [Selecione um produto]
Sandro Tadeu Malta de Souza
Seuenium, postei uma nova msg com os retornos.
Anônimo
O problema pode estar no javacript que deveria estar no onclick e não no href. Ao invés de:
a href=javascript:sendSelected();”
O certo seria:
a href=”#” onclick=”javascript:sendSelected();”
Sandro Tadeu Malta de Souza
Humm…. ok, vou tentar de novo.
Sandro Tadeu Malta de Souza
Foi, a parte de selecionar foi, só agora tenho outro problema que acredito ser mais fácil de resolver:
….
* [info] Executing: |clickAt | //a[@id='sendSelected']/img | |
* [error] modifyWindow: Window was closed!
* [error] Current window or frame is closed!
Anônimo
Que bom que o primeiro problema foi solucionado. Como o Selenium funciona em cima de Javascript, ele dá erro quando tem alguma situação incorreta, que é o caso de js dentro de href.
Agora vamos ao próximo erro. No seu exemplo, após o comando clickAt vc está chamando o waitForPageToLoad. Remove esse comando e deixa o selectWindow|null logo em seguida.
Sandro Tadeu Malta de Souza
Masssss AHHHHHHHHH seuenium!!! PROBLEMA RESOLVIDO! Um simples “onclick” resolveu o problema (mais as suas dicas e as do cleuberjs).
Valeu galera!
Sandro Tadeu Malta de Souza
cleuberjs, PROBLEMA RESOLVIDO! As dicas e soluções estão aqui no forum
Valeu pelas dicas!
Anônimo
Olá a todos, olá seu Enium
Gostaria de saber se alguém já executou um teste gerado no Selenium em vários navegadores.
Até hoje só consegui no Firefox e mal mal no Internet Explorer .
Ainda não usei o selenium 2.0.
Falou, um abraço a todos.
Um abraço a todos.
Anônimo
Olá Seu Enium, oi Galera
Eu estava com um problema para executar o teste no ie no meu pc,
sendo que o mesmo está com o win 7 64bits
Solução 1: executar o cmd no modo admin ai então coloar o selenium-server para rodar
Solução 2: executar o eclipse no modo adm
Falou, um abraço!
Sandro Tadeu Malta de Souza
Caro cleuberjs, eu rodo com o Selenium IDE mesmo (FF 3.6.13), já tentei usar o selenium-remote-control-1.0.3 com o IE 6 no Win XP, mas raramente passa um teste, aaté porque não consegui solucionar alguns problemas aindaa, como por exemplo a janela que abre quando um site “não é confiável” …. em breve aqui estarei postando mais dúvidas.
Sandro Tadeu Malta de Souza
Seuenium, tem como colocar condições no Selenium? Por exemplo: em alguns casos, quando seleciono um cliente, retorna uma mensagem que o alvará está vencido e tal,… o que não ocorre para todos os clientes…. Teria como fazer algo do tipo “se mensagem alvará / ok”, senão segue o teste?? Obrigado.
Anônimo
Oi Sandro
Já li em algum lugar que para vc rodar o ie, o selenium-remote-control deve estar na versão 1.0.1 ou inferior
hum … eu testei as duas, a 1.0.1 e a 1.0.3. Mas como ainda estou no início da automação no projeto, recém capturando os testes com o Selenium IDE, não fui muito a fundo no RC Valeu cleuberjs!
Cara, como o seuenium disse, o ideal é vc escolher uma linguagem de programação.
O universo do seu teste fica muito maior.
falou, um abraço!
Anônimo
Olá a todos,
Estou com o seguinte problema em uma aplicação
Seleciono um campo (combobox), blz, bonito,
Mas… quando vou para outro campo o campo o combo selecionado anteriormente volta ao seu estado inicial
alguém já passou por isso? ou tem alguma dica?
falou, um abraço!
Anônimo
Em certos casos você tem que ir mais a fundo e tentar entender quais os eventos javascripts que estão acontecendo nas ações que você faz. Talvez vale a pena sentar ao lado do desenvolvedor e descobrir o que se passa. O Selenium 1 funciona em cima de Javascript, e quando a página tem muita interação com js, pode acontecer esses problemas.
Anônimo
Blz,
se eu colocar para rodar no 2.0, mesmo emulando o selenium, deve funcionar?
falou, um abraço!
Anônimo
Olá seu Enium,
Mais uma dúvida para nós kkkk
Estou querendo configurar o proxy para o selenium Web Driver
estou tentando usar esse código:
FirefoxProfile profile = new FirefoxProfile();
profile.addAdditionalPreference(“network.proxy.http”, “localhost”);
profile.addAdditionalPreference(“network.proxy.http_port”, “3128″);
WebDriver driver = new FirefoxDriver(profile);
mas o profile não dá opção de addAdditionalPreference…
Há outra biblioteca para baixar, ou outra forma de programar isso?
Falou, um abraço!
Anônimo
Olá seu Enium, olá pessoal
Estou com um problema muito estranho aqui
Estou começando a usar o selenium 2.0 para executar os testes,
e aconteceu algo que digo que não é de Deus, kkkkkkk
peço para ele selecionar um combobox, ele seleciona
peço para ele ir para o outro campo, ele vai, só que o combo anterior fica com um valor diferente do selecionado.
Bem pessoal, se algum tiver uma solução ou sugestão por favor me mande.
Falou, um abraço!
Anônimo
Boa tarde galera
Peguei um exemplo legal de modificação de proxy para o Firefox, ele realmente muda o proxy, embora eu não entenda, pois acesso a internet aqui sem proxy, e no teste, mesmo a com a alteração continua acessando
Se eu tiver sucesso em um lugar que realmente tenha necessidade de proxy, postarei aqui
Segue o Código:
WebDriver driver;
String PROXY=”10.10.62.2″;
int PORTA=8080;
FirefoxProfile perfil= new FirefoxProfile();
perfil.setPreference(“network.proxy.http”,PROXY );
perfil.setPreference(“network.proxy.http_port”, PORTA); //altera http
perfil.setPreference(“network.proxy.proxy.type”, 1);//não sei para que serve
perfil.setPreference(“network.proxy.ssl”, PROXY);
perfil.setPreference(“network.proxy.ssl_port”, PORTA); //altera ssl
perfil.setPreference(“network.proxy.ftp”, PROXY);
perfil.setPreference(“network.proxy.ftp_port”, PORTA); //altera ftp
perfil.setPreference(“network.proxy.gopher”, PROXY);
perfil.setPreference(“network.proxy.gopher_port”, PORTA);//altera gopher
perfil.setPreference(“network.proxy.socks”, PROXY);
perfil.setPreference(“network.proxy.socks_port”, PORTA);// altera socks
perfil.setPreference(“network.proxy.share_proxy_settings”, true); // não sei para que serve
perfil.setPreference(“network.proxy.no_proxies_on”, true);//não sei para que serve
driver = new FirefoxDriver(perfil); // atribui o proxy ao firefox
Lembrando que para o ie o código é diferente, para os outros navegadores eu não sei, ainda não consegui rodar.
Falou, um abraço a todos.
Anônimo
E ae galera, estou invadindo o espaço novamente kkkkkkk
alguém já viu isso:
Durante a filmagem o selenium capturar várias linha para uma mesma ação?
Um probleminha meio tosco, mas interessante.
O campo que desejo inserir o valor é somente para caracteres numéricos.
Usando o selenium.type(“element”,”Teste”); o valor é inserido no campo no formulário, após clicar em salvar o formulário é salvo. (que feio, mas acontece kkkkk)
Usando o element.sendKeys(“Teste”); ele escreve, mas quando o foco sai do local que escreveu o texto desaparece.
usando o selenium.typeKeys(“element”,”Teste”); também não rola
Resumindo, queria verificar a mensagem de alerta que diz não ser possível inserir letras no campo, mas por enquanto não está tendo como fazer isso.
Falou galera, um abraço!
http://twitter.com/saldanha1984 Andre Saldanha
Mestre Seu Enium,
comecei a pouco a utilziar Selenium e não estou conseguindo criar um teste automatizado para uma lista de tarefas que tenho no sistema. O problema está que não consigo preencher automaticamente uma DIV com conteudo EDITÁVEL.
Ja tentei com TYPE e KeyDown, mas não funciona.
Tens alguma dica?
Obrigado
André Saldanha
http://www.facebook.com/people/Geraldo-José-Godoy/1443580666 Geraldo José Godoy
Senhores, estou testando a ferramenta e gostaria de saber se é possível com o selenium IDE, ao executar, o ponteiro do mouse acompanhar o processo de testes mostrando todos os click’s. Outra dúvida é com relação a menssagem que são registradas com por exemplo: o assertAlert é registrado mas ao executar a janela de message não fecha como deveria e apresenta como erro no IE e como Ok no firefox. Estou executando um .bath para testar nos navegadores Ie e Firefox.
Anônimo
Greis …
Tem como eu pegar um dado na página … e jogar este dado num banco SQL ?
Anônimo
Só se você usar alguma linguagem para fazer isso, mas não é nada específico do Selenium. Com java por exemplo, você pode usar JDBC puro ou então usar JPA com Hibernate.
Anônimo
Existe essa extensão que destaca os elementos que estão sendo usados Highlight Elements (Selenium IDE), https://addons.mozilla.org/en-US/firefox/addon/228386/
O Selenium 1 tem problemas com alertas. O ideal era usar o Selenium2 que por enquanto só com uma linguagem.
Anônimo
Tenta usar o Selenium2 com o comando sendKeys. O Se2 só funciona por enquanto nas APIs das linguagens, como java e ruby.
http://pulse.yahoo.com/_KMBA33YBLIT74JUJT4RMBYRQKA karol
Estou com problemas com o Alerts tbm.
Ele tbm registra e tudo mais, mas quando faço a integração com o Junit e rodo meus testes ele não acha o alert e da o seguinte erro THERE WERE NO ALERTS.
o que posso fazer para que ele reconheça esse alert?
só migrando para o Selenium2 mesmo?
Eu to usando o selenium IDE
Consigo pegar um texto e incluir numa variavel
Tem como eu pegar essa variavel e incluir num banco do MySql ?
Anônimo
bom dia seu enium.
estou com um leve probleminha na minha execução dos testes. gostaria de saber se tens como me ajudar.
bom, vamos lá:
estou executando ha um tempo meus testes em java. minha ultima criação eu utilizei regex. na ide funcionou perfeitamente e aparentemente na execução atraves do eclipse na minha maquina executou certo tambem, porem quando coloco a rodar na integração continua ele nao encontra o elemento (selenium.click(“//*[contains(text(), 'selenium')]//following::td[3]/a[1]/img”);
andei pesquisando no google algo sobre e achei este comando:
selenium.useXpathLibrary(“javascript-xpath”);
porem, o useXpathLibary não contem no core do selenium. acredito que habilitando o uso desta library o que eu estou tentando fazer vai funcionar.
e agora la vem minha duvida:
vc sabe me dar alguma luz sobre o que tenho que fazer para conseguir rodar desta maneira?
OBS: o uso do selenium.useXpathLibrary(“javascript-xpath”) é feito no setUp() e minha classe extendida é a SeleneseTestCase
caso tenha que executar de outra forma, como posso fazer isto?
Olá Seuenium,
Preciso de uma ajuda com implementação de testNG em um código. Será que consegue me ajudar?
Carreguei duas imagens de minhas classes.
Estou começando a aprender sobre testes, estou lendo muito, mas na internet não tem muitos exemplos de implementação desse tipo que eu quero, a maioria é web, e até fiz uns exemplos, de busca no Google, por exemplo.
Fico no aguardo de uma forcinha.
Se possível, poderiam também me responder por e-mail? cle.darsie@gmail.com
Olá Seuenium,
Preciso de uma ajuda com implementação de testNG em um código. Será que consegue me ajudar?
Carreguei duas imagens de minhas classes.
Estou começando a aprender sobre testes, estou lendo muito, mas na internet não tem muitos exemplos de implementação desse tipo que eu quero, a maioria é web, e até fiz uns exemplos, de busca no Google, por exemplo.
Fico no aguardo de uma forcinha.
Se possível, poderiam também me responder por e-mail? cle.darsie@gmail.com
Abraços!!
Anônimo
oi cleverson.
eu fiz algumas coisas no testng e vou colocar aqui da maneira que eu fiz.
se voce esta utilizando o eclipse como ide, adicione o plugin do testng ao eclipse.
apos isto, clique com o botão direito na classe que tu pretende executar utilizando o testng e note que ao fim das opções ira aparecer “testeNG” e dentro deste menu a opção converter para testeng.
clique nesta opção.
ira abrir uma caixa de dialogo pergutando se tu quer criar o testng.xml (este arquivo é o que deve ser executado). confirme a solicitação colocando em um local do projeto de sua escolha.
OBS: note que dentro do xml do testng existem varias opções para configurar o modo de execução, eu tinha achado uma vez as propriedades de cada tag, mas acabei perdendo o link, se eu achar te envio no e-mail.
clique em avançar e selecione as classes que sofreram a mudança e confirme.
após isto, o testng ira colocar algumas modificações pequenas no teu codigo como:
@BeforeMethod()
@Test()
algo similar ao jUnit.
pronto, ja esta apto a executar com o testng.
Anônimo
Criei um caso de teste para realizar um cadastro.
Quando executo este caso de teste está rodando com sucesso.
Na tela de cadastro existe o comando Excluir, quando acionado é exibido na tela uma mensagem de confirmação de exclusão.
Mas quando termino de executar o caso de testes de cadastro e volto para tela de cadastro, aciono o comando excluir.
Está sendo realizanda a exclusão sem mensagem de confirmação. Está mensagem só volta a ser exibida quando a página é atualizada.
Isto é erro de desenvolvimento ou erro na ferramenta de testes?
Anônimo
Criei um caso de teste para realizar um cadastro.
Quando executo este caso de teste está rodando com sucesso.
Na tela de cadastro existe o comando Excluir, quando acionado é exibido na tela uma mensagem de confirmação de exclusão.
Mas quando termino de executar o caso de testes de cadastro e volto para tela de cadastro, aciono o comando excluir.
Está sendo realizanda a exclusão sem mensagem de confirmação. Está mensagem só volta a ser exibida quando a página é atualizada.
Isto é erro de desenvolvimento ou erro na ferramenta de testes?
http://twitter.com/EderPensador Éder Rodrigues
Olá SeuEnium gostaria de saber qual a grande diferença entre o Selenium on ruby x Selenium on rails
Pedro Oliveira
Sou estudante de Ciência da Computação da UFPI e trabalho com TTDD. Em meus estudos vi que era necessário entender a fundo o código do Selenium mas ainda não consegui encontrar onde ele grava as ações do usuário. Se puder me ajudar de já eu agradeço.
Pedro Oliveira
Sou estudante de Ciência da Computação da UFPI e trabalho com TTDD. Em meus estudos vi que era necessário entender a fundo o código do Selenium mas ainda não consegui encontrar onde ele grava as ações do usuário. Se puder me ajudar de já eu agradeço.
Seu enium, estou realizando uns teste no Selenium IDE, durante o mesmo, ele abre um pop-up aonde eu continuo executando testes.
O problema eh que o Selenium se perder na troca de janelas, como posso resolver isso ?
http://twitter.com/fjleite Felipe Leite
Olá Seu Enium! Estou tendo um problema com uma página minha que é muito grande (Possui muitas linhas de código html).
O selenium não está encontrando uma das tabelas que está lá embaixo na página. O selenium tem algum problema com páginas grandes? Ele só consegue armazenar até algum tamanho específico?
Obrigado desde já!
Clarice Montanari
Oi, estou tentando usar o firefox 4 para rodar meus testes, mas não consigo. Alguém já conseguiu? Se sim, como?
Anônimo
busca de elementos usando ajax
O elemento que eu preciso buscar esta no seguinte endereço:
/html/body/div[2]/table/tbody/tr[2]/td[2]/div[3]/form/div/div/table/tbody/tr/td[2]/div/div/span/select/option[2]
Faço o seguinte no selenium:
verifyText
//tr/td[2]//div/div/span/select/option[2]
Texto a ser verificado
Mas não consegue encontrar, aponta pra outro elemento do form
Alguém poderia me indicar o que eu fiz de errado
Estava tentando resolver o problema
por outro caminho com busca de elementos
por id:
tenho uma página que seleciona
o banco e depois a suas agências
Tentei com:
waitForElementPresent
id=dadosBancariosForm:agenciaField:selectAgencia (id da agência)
e em seguida
verifyText
id=dadosBancariosForm:agenciaField:selectAgencia (id da agência)
Poderiam me ajudar por favor
Joffre Lustosa
Seu Enium, bom dia. Eu estou precisando testar uma aplicação que possui Silverlight/Ajax. Estou tentando adicionar um comando “waitForElementPresent”, mas acho que o Selenium está gravando o nome do elemento incorretamente. É possível descobrir o nome dos objetos da tela através do Selenium de alguma outra forma sem ser gravando?
Obrigado!
Joffre Lustosa
Já temos a versão 7.0.1 do Firefox. Não seria problema com incompatibilidade de versão do Selenium com o seu browser?
Seuenium, estou rodando um teste no Selenium ide, mas ele não esta achando essa frame:
selectFrame TB_iframeContent213
tem algum modo de ele reconhece la?
obrigado
Anônimo
Olá Seuenium…..
Estou começando a trabalhar na área de testes e tenho um desafio que é de automatizar os testes de funcionalidade em uma aplicação Flex.
Pesquisei na web,, mas tem pouca coisa….Gostaria de saber se é possível fazer com o Selenium + Flex igual a aplicações Web Standards.