0 votes
1 view
in Devops and Agile by (19.8k points)

When I am using a proxy in webdriver like FirefoxDriver, if the proxy is bad then the get method will block forever. I set some timeout parameters, but this did not work out.

This is my code:

FirefoxProfile profile = new FirefoxProfile();

profile.setPreference("general.useragent.override", ua);    

Proxy p = new Proxy();

p.setHttpProxy(proxy);

profile.setProxyPreferences(p);

profile.setEnableNativeEvents(true);

// create a driver

WebDriver driver = new FirefoxDriver(profile);

driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

driver.manage().timeouts().setScriptTimeout(30, TimeUnit.SECONDS);

driver.get("www.sina.com.cn")

The call to driver.get will block for ever, but I want it to wait for 30 seconds and if the page is not loaded then throw an exception.

1 Answer

0 votes
by (63.4k points)

Use this code:

driver.executeScript("window.location.href='http://www.sina.com.cn'")

this statement will return immediately.

And after that, you can add a WebDriverWait with a timeout to check if the page title or any element is ok.

Hope this will help you.

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...