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.