Selenium IDE - Comando para aguardar 5 segundos

89

Estou usando o Selenium IDE para Firefox e procurando um comando de espera. Meu problema é que quero testar um site com um mapa externo embutido. Este mapa externo precisa de 3-5 segundos para carregar.

Meus comandos:

open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something
LaPhi
fonte

Respostas:

105

Use o comando pause e insira o número de milissegundos no campo Destino.

Defina a velocidade como mais rápida (Ações -> Mais rápida), caso contrário, não funcionará.

Adam Prax
fonte
Obrigado! Inseri o comando, mas o Selenium não para. Comando = pausa, Valor = 10000
LaPhi
53
Use em Targetvez de Value. Comando = Pausa, Destino = 1000.
khairul
1
@Khairul que bom que você adicionou esse comentário, está me deixando louco porque pause()não funciona!
cchana
A velocidade não tem influência no comando de pausa, é como @Khairul diz ao invés: Coloque-o no alvo.
Mendhak
quando você faz uma pausa no final de um caso de teste ao executar um conjunto de testes, ele não funcionará
Alfonso Fernandez-Ocampo
84

Isso atrasará as coisas por 5 segundos:

Comando: pausa
Alvo: 5000
Valor:

Isso atrasará as coisas por 3 segundos:

Comando: pausa
Alvo: 3000
Valor:

Documentação:

http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause

insira a descrição da imagem aqui insira a descrição da imagem aqui

MacGyver
fonte
2
Então, defina 5000 para 5 segundos
Ripon Al Wasim
1
É uma loucura que eles tornem o alvo o valor para esperar em milissegundos. Adoro. Obrigado por postar isso, pois nem tentei inserir o valor no target.
John Z
6

Para aqueles que trabalham com ant, uso isso para indicar uma pausa de 5 segundos:

<tr>
    <td>pause</td>
    <td>5000</td>
    <td></td>
</tr>

Ou seja, target: 5000e valuevazio. Como a referência indica:

pausar (waitTime)

Argumentos:

  • waitTime - a quantidade de tempo para dormir (em milissegundos)

Aguarde a quantidade de tempo especificada (em milissegundos)

fedorqui 'então pare de prejudicar'
fonte
4

Provavelmente, sua melhor aposta é waitForConditionescrever uma função javascript que retorne true quando o mapa for carregado.

altamente cafeinado
fonte
Obrigado por seu comentário! Mas existe agora uma maneira OOTB de esperar x segundos?
LaPhi
1
Não, não há uma maneira direta de apenas esperar x segundos. Veja a lista completa de comandos suportados .
altamente cafeinado de
2
pausar x000 segundos irá esperar por x segundos
Thunder Rabbit
1

Isso fará o que você está procurando em C # (WebDriver / Selenium 2.0)

var browser = new FirefoxDriver();
var overallTimeout = Timespan.FromSeconds(10);
var sleepCycle = TimeSpan.FromMiliseconds(50);
var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);

E nunca use Thread.Sleep porque torna seus testes não confiáveis

Pawel Pabich
fonte
Opção muito melhor no Selenium 2.
craastad
0

O comando pause pode ser usado diretamente no ide no formato html.

Se estiver usando java ou C, você pode usar Thread.sleep (5000). O tempo está em milissegundos. Outros idiomas suportam "sleep 5" ou time.sleep (5). você tem várias opções para apenas esperar por um tempo definido.

Rattlerbred
fonte
2
Thread.Sleep nunca é uma boa ideia e é por isso que o Selenium fornece primitivos de espera. Se você usá-los, poderá especificar um valor de tempo limite muito mais alto, o que torna os testes mais confiáveis ​​sem retardá-los, pois a condição pode ser avaliada com a frequência necessária, por exemplo. a cada 50ms.
Pawel Pabich
Minha resposta no thread.sleep está relacionada apenas a responder à pergunta de como fazê-lo esperar no ide. Como a pausa é traduzida em thread.sleep quando você converte de html para java ou c no ide.
rattlerbred
0

Antes do comando, clickAndWaitadicione o seguinte código para que o script espere até que o link específico fique visível:

   <tr>
        <td>waitForVisible</td>
        <td>link=do something</td>
        <td></td>
    </tr>

A prática de usar os comandos de espera em vez de pausa é na maioria das vezes mais eficiente e estável.

George
fonte
0

Isso irá esperar até que seu link apareça e então você poderá clicar nele.

Command: waitForElementPresent Target: link=do something Value:

the_average_average
fonte
0

Um que descobri que funciona para o site que testei é este:

waitForCondition | selenium.browserbot.getUserWindow (). $. active == 0 | 20.000

Klendathu

Klendathu
fonte
0

No Chrome, para "Selenium IDE", também estava lutando para não fazer uma pausa. Ele fará uma pausa, se você der o seguinte:

  • Comando: pausa
  • Alvo: em branco
  • Valor: 10000

Isso fará uma pausa de 10 segundos.

TechSingh
fonte
1
A meta deve ser 10.000 e o valor deve estar em branco
Sirmyself
Não tenho certeza de qual plugin do navegador você está tentando, mas funcionou bem para mim no Chrome. Também depende de qual extensão você está usando.
TechSingh