【Selenium】使用selenium進行自動化測試(中)
阿新 • • 發佈:2018-12-11
1.元素定位與操作
查詢元素方法:
driver.findElement(By arg0);
其中寫用來定位的API,常見用來定位的API有六種,接下來一一介紹:
1.1 By.id
根據id來獲取元素,返回單個元素,因為id值一般是唯一的。
//獲得id=kw的標籤並且賦值給input變數
WebElement input=driver.findElement(By.id("kw"));
根據元素的name屬性來獲得元素,所以可能返回元素集合
WebElement input=driver.findElement(By.name("kw"));
1.3 By.tagName
根據標籤名來獲取元素,可能返回一個元素集合
List<WebElement> list =driver.findElements(By.tagName("input"));
//得到第八個元素
list.get(7);
1.4 By.className
根據元素的樣式class來獲取元素,可能返回一個元素集合
List<WebElement> list =driver.findElements(By.className("input"));
list.get(7);
1.4 By.LinkText
根據超連結的文字值來獲取元素
//根據完整文字內容 //WebElement element=driver.findElement(By.linkText("新聞")); //根據部分文字內容定位 WebElement element1=driver.findElement(By.partialLinkText("新")); element1.click();
1.5 By.cssSelector
- 通過標籤名稱和其className進行查詢
//傳入標籤名及樣式查詢
WebElement element=driver.findElement(By.cssSelector("input.s_input"));
element.sendKeys("你好");
- 通過標籤名和任意一個屬性值進行查詢
WebElement element=driver.findElement(By.cssSelector("input[autocomplete='off']"));
element.sendKeys("你好");
1.6 By.xpath
通過絕對路徑查詢元素,比較麻煩,很少用。
2.web自動化框架前瞻
2.1 框架的定義
指為解決一個開放性問題而設計的具有一定約束性的支撐結構。在此結構上可以根據具體問題擴充套件、安插更多的組成部分,從而更迅速和方便的構建完整的解決問題的方案。
2.2 Maven
是一個專案構建工具。 是目前大部分企業在做專案時首選的專案構建、管理工具。 特點:
- 可以使用maven來編譯你的程式碼
- 專案打包可以使用maven來完成
- maven可以實現專案模組化管理
- maven可以線上管理已拉起,專案以來也很多方便獲取
- maven提供了一些豐富的外掛,方便專案持續整合
高版本的eclipse一般都整合有maven,我這裡以我的eclipse為例(我的eclipse Version: Mars.1 Release (4.5.1)),介紹檢視方式: 如果能夠檢視到,則說明已經集成了maven。
2.2.1 建立一個maven project
新建完成後如下圖所示: 我的專案報錯是因為沒有新增對應的jar包,在maven框架中,我們所需的jar包能夠在下面這個網站中進行下載: http://mvnrepository.com/ 我這裡要使用兩個jar包:
- selenium-java 是一個用於web 應用程式測試的工具,直接執行在瀏覽器中。
- Testng 下一代測試技術。
這裡我們去下載seleniu java,在搜尋框中輸入selenium java,選擇對應的包,然後進入此頁面。 然後我們選擇熱度最高的2.53.1版本 點選2.53.1後,進行以下操作:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
拷出來是這個樣子的,我們將上面的網址刪掉,只要下面幾行。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
然後開啟這個檔案: