Web自動化框架LazyUI使用手冊(7)--瀏覽器常用操作API
阿新 • • 發佈:2019-02-05
LazyUI框架中,BrowserEmulator類提供了大量的瀏覽器操作,常用的API列舉如下:
1. 基本操作
/** * Open the URL * 開啟一個URL * @param url * the target URL */ void open(String url); /** * 獲取當前URL */ String getCurrentUrl(); /** * Refresh the browser * 重新整理當前頁面 * 包含重試和超時機制 * 不支援設定預先等待時間(通過設定pause變數) */ void refresh(); /** * Quit the browser * 退出瀏覽器 */ void quit(); /** * Pause * 等待XXX毫秒 * @param time in millisecond */ void pause(int time); /** * 點選瀏覽器原生的alert */ void clickAlert(); /** * 根據Xpath,找到控制元件並返回 * 有重試和超時機制 */ WebElement findElementByXpath(String xpath); /** * Get the JavascriptExecutor instance embedded in BrowserEmulator * 獲取JavaScript執行器 * @return a JavascriptExecutor instance */ JavascriptExecutor getJavaScriptExecutor();
2. 視窗切換
/** * 返回當前聚焦的window的title */ String getCurrentWindowTitle(); /** * Switch window/tab * 根據title來切換瀏覽器的選項卡 * 如果有重名的,就不好使了 * 不包含重試和超時機制 * 不支援設定預先等待時間 * @param windowTitle * the window/tab's title * @throws Exception */ void selectWindow(String windowTitle); /** * Switch window/tab * 根據title中包含的字串來切換瀏覽器的選項卡 * 如果有重名的,預設切換到找到的第一個 * 不包含重試和超時機制 * 不支援設定預先等待時間 * @param windowTitle * the window/tab's title * @throws Exception */ void selectWindowFuzzy(String windowTitleWord); /** * Switch window/tab * 切換到driver開啟的唯一的window,通常關掉其他視窗後, *需要切換回原視窗(driver只剩原視窗)時使用 * @throws Exception */ void selectTheOnlyWindow();
3. frame操作
/** * Enter the iframe * 根據xpath,進入一個iframe * 包含重試和超時機制 * 不支援設定預先等待時間(通過設定pause變數) * @param xpath * the iframe's xpath */ void enterFrame(String xpath); /** * Enter frame * 根據nameOrId,進入一個iframe * 包含重試和超時機制 * 不支援設定預先等待時間(通過設定pause變數) * @param nameOrId frame's name or id */ void enterFrameByNameOrId(String nameOrId); /** * Leave the iframe * 離開當前iframe * 包含重試和超時機制 * 不支援設定預先等待時間(通過設定pause變數) */ void leaveFrame();
4. 滑鼠鍵盤操作
/**
* Hover on the page element
* 根據xpath,找到一個控制元件,滑鼠移動到控制元件上方
* 不支援Safari
* 包含重試和超時機制
* 支援設定預先等待時間,以方便肉眼能跟上(通過設定pause變數)
* @param xpath
* the element's xpath
*/
void mouseOver(String xpath);
/**
* Hover on the page element
* 根據多個xpath(同一個控制元件的不同Xpath寫法,增大找到控制元件的機率),找到一個控制元件,滑鼠移動到控制元件上方
* 不支援Safari
* 包含重試和超時機制
* 支援設定預先等待時間,以方便肉眼能跟上(通過設定pause變數)
* @param xpathArray
* the element's xpath
*/
void mouseOver(String[] xpathArray);
/**
* Mimic system-level keyboard event
* @param keyCode
* 模擬按下一個鍵,等待100毫秒,釋放該鍵
* 包含重試和超時機制
* 支援設定預先等待時間,以方便肉眼能跟上(通過設定pause變數)
* such as KeyEvent.VK_TAB, KeyEvent.VK_F11
*/
void pressKeyboard(int keyCode);
/**
* Mimic system-level keyboard event with String
* 模擬鍵盤輸入一段文字
* 包含重試和超時機制
* 支援設定預先等待時間,以方便肉眼能跟上(通過設定pause變數)
* @param text
*
*/
void inputKeyboard(String text);