SafariDriver の実行中にテストを新たに開始するときにキャッシュをクリアする方法を知っている人はいますか? java ロボットを使用して、コマンド + オプション + e のキーを押してみましたが、うまくいかないようです。ブラウザに焦点を当てていません。
ロボット r = 新しいロボット();
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 キャッシュをクリアするものはないようです。