有谁知道在运行 SafariDriver 时如何在新的测试开始时清除缓存?我尝试使用 java 机器人按键命令 + 选项 + e,但这似乎不起作用。它不关注浏览器。
机器人 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 缓存。