1、元素的定位css
一、經過ID定位元素:
findElement(By.id(element));
二、經過元素的名稱定位元素:
findElement(By.name(element));
三、經過元素的html中的位置定位元素:
findElement(By.xpath(element));
四、經過元素的標籤名稱定位元素:
findElement(By.tagName(element));
五、經過元素的連接名稱定位元素:
findElement(By.linkText(element));
六、經過元素的類名定位元素:
findElement(By.className(element));
七、經過元素的css定位元素:
findElement(By.cssSelector(element));
八、經過元素的部分連接名稱定位元素:
findElement(By.partialLinkText(element));html
2、頁面操做app
一、模擬鼠標點擊:driver.click();
二、打開網頁:driver.get("https://www.baidu.com");
三、關閉網頁:driver.close();
四、在輸入框中輸入內容:text.sendKeys(「」);
五、清空輸入框中的內容:text.clear();
六、獲取輸入框中的內容:text.getText();
七、選擇下拉框中的元素:
Select select = new Select(wd.findElement(By.id("select")));
八、切換到某個frame:
driver.switchTo().frame("");
九、從一個frame切換到另外一個frame:
driver.switchTo().frame("");
十、切換到某個window:
driver.switchTo().window("windowName");
十一、返回父iframe:(通常在跳轉frame以前都寫上這個語句)
driver.switchTo().defaultContent();
十二、刷新頁面:driver.navigate().refresh();
1三、頁面前進後退:
driver.navigate().forward();
driver.navigate().back();異步
1四、懸停鼠標:測試
1五、下拉選擇框(Select)
Select select = new Select(driver.findElement(By.id("select")));
select.selectByVisibleText(「A」);
select.selectByValue(「1」);
select.deselectAll();
select.deselectByValue(「1」);
select.deselectByVisibleText(「A」);
select.getAllSelectedOptions();
select.getFirstSelectedOption();
1六、單選項(Radio Button)
WebElement radio=driver.findElement(By.id("BookMode"));
radio.click(); //選擇某個單選項
radio.clear(); //清空某個單選項
radio.isSelected(); //判斷某個單選項是否已經被選擇
spa
1七、彈出對話框(Popup dialogs)
Alert alert = driver.switchTo().alert();
alert.accept(); //肯定
alert.dismiss(); //取消
alert.getText(); //獲取文本
1八、表單(Form)
Form中的元素的操做和其它的元素操做同樣,對元素操做完成後對錶單的提交能夠:
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
或
approve.submit();//只適合於表單的提交
1九、上傳文件
上傳文件的元素操做:
WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
20、Windows 和 Frames之間的切換
driver.switchTo().defaultContent(); //返回到最頂層的frame/iframe
driver.switchTo().frame("leftFrame"); //切換到某個frame:
driver.switchTo().window("windowName"); //切換到某個window
2一、 調用Java Script
Web driver對Java Script的調用是經過JavascriptExecutor來實現的,例如:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("JS腳本");
2二、 超時設置
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //識別元素時的超時時間
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //頁面加載時的超時時間
driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); //異步腳本的超時時間orm
3、斷言assertionhtm
驗證應用程序的狀態是否同所指望的一致。常見的斷言包括:驗證頁面內容,如標題是否爲X或當前位置是否正確,或是驗證該複選框是否被勾選。
一、斷言被用於三種模式: assert 、verify、waitfor
Assert 失敗時,該測試將終止。
Verify 失敗時,該測試將繼續執行,並將錯誤記入日顯示屏 。也就是說容許此單個 驗證經過。確保應用程序在正確的頁面上。
Waitfor用於等待某些條件變爲真。可用於AJAX應用程序的測試。
若是該條件爲真,他們將當即成功執行。若是該條件不爲真,則將失敗並暫停測試。直到超過當前所設定的超時時間。 通常跟setTimeout時間一塊兒用
二、斷言經常使用的有:
assertLocation(判斷當前是在正確的頁面)、
assertTitle(檢查當前頁面的title是否正確)、
assertValue(檢查input的值, checkbox或radio,有值爲」on」無爲」off」)、
assertSelected(檢查select的下拉菜單中選中是否正確)、
assertSelectedOptions(檢查下拉菜單中的選項的是否正確)、
assertText(檢查指定元素的文本)、
assertTextPresent(檢查在當前給用戶顯示的頁面上是否有出現指定的文本)、
assertTextNotPresent(檢查在當前給用戶顯示的頁面上是否沒有出現指定的文本)、
assertAttribute(檢查當前指定元素的屬性的值)、
assertTable(檢查table裏的某個cell中的值)、
assertEditable(檢查指定的input是否能夠編輯)、
assertNotEditable(檢查指定的input是否不能夠編輯)、
assertAlert(檢查是否有產生帶指定message的alert對話框)、
waitForElementPresent (等待檢驗某元素的存在。爲真時,則執行。)blog
4、鼠標事件事件
一、鼠標右擊
Actions actions = new Actions(driver);
action.contextClick(driver.findElement(By.id("su")).perform();
二、雙擊
doubleClick()
三、拖拽
dragAndDrop()
四、鼠標懸停
ClickAndHold()
五、釋放掉鼠標操做
release()
6執行全部Action中存儲的行爲perform