在測試使用Selenium、webdriver測試WEB系統(tǒng)的時候,用到了模擬鼠標、鍵盤的一些輸入操作。比如鼠標的左鍵點擊、雙擊、拖拽、右鍵點擊等;鍵盤的回車、回退、空格、ctrl、alt、shift等;
在webdriver中,有專門的一個類,是用來進行鼠標、鍵盤的模擬操作的,那就是Actions類,actions類,主要定義了一些模擬用戶的鼠標mouse,鍵盤keyboard操作。對于這些操作,使用perform()方法進行執(zhí)行。actions類可以完成單一的操作,也可以完成幾個操作的組合。
1、單一操作
//新建一個action
Actions action=new Actions(driver);
//操作
WebElement element=dr.findElement(By.id("test"));
WebElement element1=dr.findElement(By.id("su"));
action.sendKeys(element,"test").perform();
action.moveToElement(element1);
action.click().perform();
//元素右鍵點擊操作
Actions action = new Actions(driver) ;
action.contextClick(WebElement).perform();
2、組合操作
拖拽
WebElement element =driver.findElement(By.name("source")); //定義第一個元素
WebElement target = driver.findElement(By.name("target")); //定義第二個元素
(new Actions(driver)).dragAndDrop(element, target).perform(); //將第一個元素拖拽到第二個元素
3、鍵盤操作
send_keys(Keys.BACK_SPACE) //刪除鍵(BackSpace)
send_keys(Keys.SPACE) //空格鍵(Space)
send_keys(Keys.TAB) //制表鍵(Tab)
send_keys(Keys.ESCAPE) //回退鍵(Esc)
send_keys(Keys.ENTER) //回車鍵(Enter)
send_keys(Keys.CONTROL,‘a’) //全選(Ctrl+A)
send_keys(Keys.CONTROL,‘c’) //復制(Ctrl+C)
send_keys(Keys.CONTROL,‘x’) //剪切(Ctrl+X)
send_keys(Keys.CONTROL,‘v’) //粘貼(Ctrl+V)
send_keys(Keys.F1) //鍵盤 F1