Estou procurando uma maneira mais elegante de atualizar a página da web durante os testes (eu uso o Selenium2). Acabei de enviar a tecla F5, mas gostaria de saber se o driver possui um método para atualizar a página inteira. Aqui está o meu código
while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 )
driver.findElement(By.xpath("//body")).sendKeys(Keys.F5);
//element appear after text READY is presented
driver.findElement(By.cssSelector("div.column a")).click();
Talvez seja uma solução melhor para encontrar elemento na página atualizada manualmente
selenium
refresh
webdriver
selenium-webdriver
pbaranski
fonte
fonte
driver.navigate().refresh()
no cabeçalho da solicitação, diz "sem cache" e, como resultado, recarrega incondicionalmente todo o conteúdo. Enquanto pressionar F5 pode resultar em uma solicitação "If-Modified-Since", isso pode obter uma resposta "304 Not Modified". Você deve ter essa diferença em mente, se fizer o teste de carga.Em Python há um método para fazer isso:
driver.refresh()
. Pode não ser o mesmo em Java.Como alternativa, você poderia
driver.get("http://foo.bar");
, embora eu ache que o método de atualização funcione bem.fonte
driver.get("http://foo.bar")
pode muito bem usardriver.get(driver.current_url)
Em python
Usando o método incorporado
ou, executando JavaScript
fonte
5 maneiras diferentes de atualizar uma página da Web usando o Selenium Webdriver
Não há codificação extra especial. Acabei de usar as funções existentes de maneiras diferentes para fazê-lo funcionar. Aqui estão eles :
Usando o método sendKeys.Keys
Usando o método navigate.refresh ()
Usando o método navigate.to ()
Usando o método get ()
Usando o método sendKeys ()
fonte
Foram encontradas várias abordagens para atualizar o aplicativo no selênio: -
Para código ativo, consulte o link http://www.ufthelp.com/2014/11/Methods-Browser-Refresh-Selenium.html
fonte
Aqui está a versão C # ligeiramente diferente:
fonte
Alternativa para atualização de página (F5)
(ou)
fonte
Uma coisa importante a ser observada é que a chamada driver.navigate (). Refresh () às vezes parece assíncrona, o que significa que ela não espera a atualização terminar, apenas "inicia a atualização" e não impede a execução adicional enquanto o navegador estiver recarregando a página.
Embora isso pareça acontecer apenas em uma minoria de casos, concluímos que é melhor garantir que isso funcione 100% adicionando uma verificação manual se a página realmente começou a ser recarregada.
Aqui está o código que escrevi para isso em nossa classe de objeto de página base:
Algumas notas:
Novamente, na grande maioria dos casos, o loop do / while é executado uma única vez, porque o código além de navigate (). Refresh () não é executado até que o navegador realmente recarregue a página completamente, mas vimos casos em que na verdade, leva alguns segundos para atravessar esse loop, porque o navegador (). refresh () não foi bloqueado até o navegador terminar de carregar.
fonte
Você também pode tentar
fonte
Também existe um caso em que você deseja atualizar apenas iframe específico na página e não a página inteira.
Você faz é o seguinte:
fonte
Em PHP:
fonte
Outra maneira de atualizar a página atual usando selênio em Java.
Usar isso atualizará a página atual, como clicar na barra de endereços do navegador e pressionar Enter.
fonte
Em R, você pode usar o método de atualização, mas, para começar, navegamos para um URL usando o método de navegação:
fonte