自動化測試涉及到一個窗口新開tab頁面,目前兩種解決方案:
方案一:JS操作
方案二:Actions模擬操作
代碼示例:
方案一:
/**
* 瀏覽器新開tab頁
* @author wangy
* @date 2019-08-21
* @param parameter
* @return
*/
//parameter是一個公共對象,裏面記錄一些元素相關內容,這裏取url
public static void starNewTab(Parameter parameter) throws Exception {
//此處url獲取本質還是通過driver.getCurrenturl()
String js="window.open(\""+parameter.getCurrentUrl()+"\",\"_blank\");";
((JavascriptExecutor)parameter.getDriver()).executeScript(js);
}
方案二:
/**
* 瀏覽器新開tab頁
* @author wangy
* @date 2019-08-21
* @param parameter
* @return
*/
//parameter是一個公共對象,裏面記錄一些元素相關內容,這裏取url
public static void starNewTab(Parameter parameter) throws Exception {
//此處url獲取本質還是通過driver.getCurrenturl()
Actions action = new Actions(parameter.getDriver());
//關鍵在這裏,用Actions模擬鍵盤新開Tab頁操作
action.keyDown(Keys.CONTROL).sendKeys("t").keyUp(Keys.CONTROL).perform();
parameter.getDriver().get(parameter.getCurrentUrl());
}