IDEA+Java:Selenium+Maven+TestNG基本WebUI自動化測試環境搭建


IDEA+java:Selenium+Maven+TestNG

流程:JDK-Maven-IDEA-Selenium-TestNG-腳本

快捷窗口:

  1. JDK安裝及配置
  2. Maven安裝、配置及使用
  3. 各瀏覽器驅動下載鏈接

 附送:selenium國內鏡像網站,打不開selenium官網的可以在此下載!

本文介紹的測試環境,應該是最基本的測試環境了,也是很多文章都有寫,這里做一個完整的圖文配置整理,方便閱讀理解!

 使用maven的好處,由此也可以看到,因為訪問selenium官方,有的時候是需要翻牆才能打開的,而用了maven就可以免費下載了~

首先,編譯器,我使用了IDEA,而非eclipse,是因為IDEA與Maven可以更完美的融合,並且更好用,更智能,推薦大家抓緊轉入。

IDEA安裝

JDK安裝及配置教程點擊進入查看

官方下載地址:https://www.jetbrains.com/idea  (首頁點擊DOWNLOAD,應該很明顯吧?)

根據你的系統環境選擇並下載完整版(不要問收費怎么辦,繼續看!)

 

  下載並安裝到你喜歡的地方,最好不要在C盤(系統盤),除非你是足夠空間的固態硬盤!

  安裝過程中說到的注冊碼的問題,直接忽略,直到安裝完成!

  破解:

  1.首先下載名為 JetbrainsCrack-2.10.jar 的包到本地Idea的bin目錄下,

  下載地址:點擊下載 (后期我會補其他下載地址,防止收費或失效)

  2.修改配置文件:

    在安裝的idea下面的bin目錄下面有2個文件 : 一個是idea64.exe.vmoptions,還有一個是idea.exe.vmoptions(如上圖籃框)。 
  用記事本打開 分別在最下面一行增加一行:

    -javaagent:F:\idea\IntelliJ IDEA 2017.1\bin\JetbrainsCrack-2.10.jar
    “F:\idea\IntelliJ IDEA 2017.1\bin\JetbrainsCrack-2.10.jar”是對應你的JetbrainsCrack-2.10.jar的位置。

  3.重啟,填寫注冊碼(到2099年到期) 
    重啟一下軟件,在進入出現有active code選擇界面的時候,隨便輸入什么都可以,比如 123 
  能夠進入應用界面則表示安裝破解成功。

  idea for mac 破解方法 :

    Mac 版 idea 沒有idea64.exe.vmoptions,idea.exe.vmoptions 這兩個文件 只有idea.vmoptions 文件

  

   找到IntelliJ IDEA 2017安裝位置,添加如下代碼:

  -javaagent:/Applications/IntelliJ IDEA.app/Contents/bin/JetbrainsCrack-2.10.jar

  破解原文地址:http://idea.lanyus.com

 

MAVEN的安裝及配置

 

安裝、配置及使用,點擊進入查看

 

 在編譯器中的應用

打開IDEA,新建一個Maven項目,

在默認打開的pom.xml中添加我們需要的SeleniumtestNG

selenium-java
testng


添加完成以后,idea會在右下角提示你是否需要自動安裝pom配置的jar包,為了方便,當然需要了 -enable
那么安裝完這些就完成了么,顯然是沒有,selenium3,不同於2的地方就是火狐瀏覽器也需要單獨加載驅動了

各瀏覽器驅動下載鏈接

然后將我們下載好的驅動,放到你的文件夾中,推薦命名driver,方便辨識。
同樣,windows用戶也可以直接將下載好的驅動扔到你的 C:\Windows\System32,若是64位系統,還需要扔到 C:\Windows\SysWOW64

實例代碼如下,點擊展開查看:
(說明:1.用戶名和密碼用你自己的;2.如果驅動在指定的文件夾里,代碼中可以不用配置驅動位置)
 1 import org.openqa.selenium.By;
 2 import org.openqa.selenium.WebDriver;
 3 import org.openqa.selenium.chrome.ChromeDriver;
 4 import org.testng.Assert;
 5 import org.testng.annotations.AfterClass;
 6 import org.testng.annotations.BeforeClass;
 7 import org.testng.annotations.Test;
 8 
 9 /**
10  * 類說明
11  *
12  * @author iceb
13  * @version $Id: SeTest.java, v0.1 2017/6/28.17:19 Exp $
14  */
15 
16 public class SeTest {
17 
18     @BeforeClass
19     public void beforeClass() {
20         System.out.println("用例前執行打印本句!");
21         System.out.println("每條Test用例是互不相干的");
22         System.out.println("用例開始執行…………");
23     }
24 
25     @AfterClass
26     public void afterClass(){
27         System.out.println("用例結束后運行");
28     }
29     @Test
30     public void actions() {
31         //設置驅動所在位置
32         System.setProperty("webdriver.chrome.driver", "D:\\fortest\\drivers\\chromedriver.exe");
33         //引用火狐瀏覽器驅動
34         WebDriver driver = new ChromeDriver();
35         //打開禪道界面
36         driver.get("http://www.zentao.net/user-login.html");
37         //以下元素使用css格式 -cssSelector
38         //輸入賬號
39         driver.findElement(By.cssSelector("#account")).sendKeys("baidutest01x");
40         //輸入密碼
41         driver.findElement(By.cssSelector("#password")).sendKeys("pswd111");
42         //點擊登錄
43         driver.findElement(By.id("#submit")).click();
44 
45         //抓取成功登錄后的用戶名信息
46         String text = driver.findElement(By.cssSelector("#siteNav > a:nth-child(4)")).getText();
47         //斷言-校驗是否登錄成功
48         Assert.assertEquals(text,"懵");
49 
50         try {
51             //頁面等待
52             Thread.sleep(300);
53         } catch (InterruptedException e) {
54             e.printStackTrace();
55         }
56         //關閉瀏覽器進程及驅動
57         driver.close();
58 
59     }
60 
61 }
View Code
 
        
 


以上,我們就安裝完成了這個測試的基礎環境。
推薦大家先去學習css和xpath,以及js,可以方便幫助我們了解前端代碼的元素定位!不是只會xpath就行了,要取方便的來用。

那么另一個問題,大家也經常不知道如何去定位,以及定位到以后怎么確定我找的對不對呢?來,實例教學,往下看!
打開瀏覽器,輸入被測試了不知道多少遍的百度首頁……,按F12,展開開發者模式~

1. 使用xpath 定位Web Element

 
        

在console 輸入:$x("")

 
        

 
        

2. 使用CSS selector定位web Element

 
        

在console 里輸入:$("")

 
        

3. 執行js

window.alert("")

 
        

 
        

4.執行jQuery

 
        
window.getComputedStyle(document.getElementById("su"),null).getPropertyValue("background")
 
        

 
        
以上動圖教程轉載:http://www.cnblogs.com/tobecrazy/ 
 
        
用例一定要有斷言,即-實際結果和預期結果的對比!

OK,本文介紹到此為止!轉摘記得注明出處~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM