有人知道如何在运行SafariDriver时在新的测试开始时清除缓存吗?我试着用java机器人按下command + option + e键,但似乎不起作用。它并不关注浏览器。
Robot r= new Robot();
try {
Robot robot = new Robot();
r.keyPress(KeyEvent.META_MASK);
r.keyPress(KeyEvent.VK_META);
r.keyPress(KeyEvent.VK_E);
r.keyRelease(KeyEvent.VK_E);
r.keyRelease(KeyEvent.VK_META);
r.keyRelease(KeyEvent.META_MASK);
} catch (AWTException e) {
e.printStackTrace();
}我也尝试过使用actions.builder方法,但似乎行不通
String clearCache = Keys.chord(Keys.CONTROL, Keys.COMMAND, "E");
Actions builder = new Actions(browser);
builder.sendKeys(clearCache);
Action clearCacheAction = builder.build();
clearCacheAction.perform();我也研究过如何使用SafariDriver选项,但我的java不是很好,无法完全理解如何实现它。下面是我一直在尝试使用的代码。我创建了一个SafariOptions类,并尝试在我的@before类中实例化它。
package test
import org.openqa.selenium.safari.SafariDriver;
public class SafariOptions extends SafariDriver {
private static SafariOptions ourInstance = new SafariOptions();
public static SafariOptions getInstance() {
return ourInstance;
}
public void setUseCleanSession(boolean useCleanSession){
}
public SafariOptions() {
boolean useCleanSession = true;
}
}
@Before
public void createDriver() {
assumeTrue(isSupportedPlatform());
browser = new SafariDriver();
SafariDriver options = new SafariOptions();
}似乎没有任何东西在每次测试运行时清除Safari缓存。
发布于 2013-10-02 04:41:32
为所有可能想要知道的人提供快速而简单的解决方案。
将以下代码添加到根目录的.sh文件中。
killall cookied
rm -rf ~/Library/Caches/com.apple.Safari/*
rm -rf ~/Library/Safari/LocalStorage/*
rm -rf ~/Library/Cookies/*调用@Before中的文件
运行时= Runtime.getRuntime();runtime.exec("file.sh");
System.out.println(“删除Cookie”);
https://stackoverflow.com/questions/19081392
复制相似问题