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

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


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


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)



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


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.


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.


0

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

Command: waitForElementPresent Target: link=do something Value:


0

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

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

Klendathu


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.