1. 程式人生 > >Web自動化框架LazyUI使用手冊(7)--瀏覽器常用操作API

Web自動化框架LazyUI使用手冊(7)--瀏覽器常用操作API

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);


wx1