I'm trying to kill my network in the middle of a test. and when I kill the network, the system should prompt a dialog saying network is gone. When I do this manually, I get the dialog. And I used the following code,
public void exitBrowserTab() throws IOException {
WebDriver driver = new ChromeDriver();
driver.get("url");
driver.findElement(By.id("login-username")).sendKeys("username");
driver.findElement(By.id("login-password")).sendKeys("password");
driver.findElement(By.id("signin-button")).click();
Map map = new HashMap();
map.put("offline", true);
map.put("latency", 5);
map.put("download_throughput", 500);
map.put("upload_throughput", 1024);
CommandExecutor executor = ((ChromeDriver)driver).getCommandExecutor();
Response response = executor.execute(new Command(((ChromeDriver)driver).getSessionId(), "setNetworkConditions", ImmutableMap.of("network_conditions", ImmutableMap.copyOf(map))));
}
When I run this code, it won't give me that dialog. but, when I refresh the page, it tells me that there's no network.
What did I do wrong?
Manual Steps -
- Go to the url
- Successful login
- Network drop
- Dialog appears
CodePudding user response:
I could turn of internet using the bash command,
Runtime.getRuntime().exec("cmd /c ipconfig /release");
and turn it back on using,
Runtime.getRuntime().exec("cmd /c ipconfig /renew");
This will automatically turn off your wifi and turn it on again.