Maven 配置 Selenium + testNG + reportNG 運行環境

安裝與配置

下載JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下載Eclipse:https://eclipse.org/downloads/

下載Maven:http://maven.apache.org/download.cgi#


 

環境配置

配置環境變量

將 Maven 下載到本地解壓後,設置環境變量css

"個人電腦"右鍵菜單->屬性->高級->環境變量->系統變量->新建html

 
 
 
 
變量名:MAVEN_HOME
變量值:D:\Service\apache-maven-3.3.9

找到"Path"變量名->"編輯"添加以下:java

 
 
 
 
變量名:Path
變量值:%MAVEN_HOME%\bin;

添加好了之後,打開"cmd"運行"mvn -version"來測試Maven是否配置正確python

 
 
 
 
C:\Users\YukiOne>mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: D:\Service\apache-maven-3.3.9\bin\..
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: D:\Program\Java\jdk1.7\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"

配置Maven倉庫

修改 Maven 倉庫的路徑。 打開...\apache-maven-3.3.3\conf\settings.xml 文件, 大概在49行到57行之間的位置作以下修改:git

 
 
 
 
······
<!-- localRepository
 | The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
 
<localRepository>D:/Code/Java/TestMaven/Warehouse</localRepository>
······

建立Maven項目

配置好了倉庫,咱們就能夠建立項目了,建立項目以前先了解下各個參數都是什麼意思github

  • generate --- 用於建立Maven項目
  • DgroupId --- 指定包的名稱
  • DartifactId --- 指定項目名稱
  • Dversion --- 指定版本號

打開"cmd",在指定的目錄下輸入如下配置構建Maven項目:web

 
 
 
 
C:\Users\YukiOne>d:
 
D:\>cd D:\Code\Java\TestMaven\Project
 
D:\Code\Java\TestMaven\Project>mvn archetype:generate -DgroupId=com.jase.test -DartifactId=MyWebDriver -Dversion=1.0

【注意】:每一個參數之間都要有空格,並且參數對大小寫很是敏感apache

因爲第一次配置項目能夠須要不少的依賴包,因此要下載一會,須要一點時間,配置好了之後,會發現剛剛進入的文件夾下多了一個目錄json

 
 
 
 
D:\Code\Java\TestMaven\Project>dir
 驅動器 D 中的卷是 Speed
卷的序列號是 9A8E-3352
 
 D:\Code\Java\TestMaven\Project 的目錄
 
2016/02/26  10:37    <DIR>          .
2016/02/26  10:37    <DIR>          ..
2016/02/26  10:37    <DIR>          MyWebDriver
               0 個文件              0 字節
               3 個目錄 32,927,522,816 可用字節

出現了目錄可是當前不能直接導入到Eclipse中,還須要運行下面的命令才能夠:windows

 
 
 
 
D:\Code\Java\TestMaven\Project\MyWebDriver>cd MyWebDriver
 
D:\Code\Java\TestMaven\Project\MyWebDriver>mvn clean compile
 
D:\Code\Java\TestMaven\Project\MyWebDriver>mvn eclipse:eclipse

配置完了之後,就能夠導入Eclipse了

將Maven項目導入Eclipse中

1. 打開Eclipse

2. 導入項目,選擇File->Import->Existing Projects into Workspace->點擊"Next",添加剛纔構建的"MyWebDriver"目錄

ImportMaven

3. 修改Maven配置文件路徑,選擇Window-->Perferences-->Maven-->User Settings

MavenSettings

配置好了Eclipse,Maven基本都已經成型了。剩下的就是怎麼用了。


包的管理與更新

Maven包的管理都是在pom.xml中配置的,能夠訪問Maven網絡上的倉庫,而後當你啓動Eclipse的時候,Maven它就會從網絡倉庫上,把對應的包給下下來。

Maven網絡倉庫地址:http://search.maven.org/

在搜索框中,搜索"Selenium",就能夠出現"Selenium"的包路徑,包名以及對應的版本號

MavenSearch

將對應包的信息記錄之後,就能夠在pom.xml中配置了,配置以下(PS: 下面配置了一些jar包,其中testNG用來管理用例,reportNG用來生成報告,Selenium用來執行測試用例,還有):

 
 
 
 
【注意】: Maven網絡倉庫中reportNG的包有問題,不支持中文,生成後的報告裏面含有中文的都是亂碼,有大神修改過這個包的源碼,咱們須要將這個包替換一下
 
reportNG支持中文的jar包連接: http://pan.baidu.com/s/1nunT2mH 密碼: w5nv
 
 
 
 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.jase.test</groupId>
    <artifactId>MyWebDriver</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>
    <name>MyWebDriver</name>
    <url>http://maven.apache.org</url>
 
    <!-- maven 參數配置,這裏引用不一樣的testng.xml -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <xmlFileName>testng.xml</xmlFileName>
    </properties>
 
 
    <!-- maven 引用依賴不一樣的jar -->
    <dependencies>
 
        <!-- 依賴testNg -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.9.10</version>
            <scope>test</scope>
        </dependency>
 
        <!-- 依賴reportNg 關聯testNg -->
        <dependency>
            <groupId>org.uncommons</groupId>
            <artifactId>reportng</artifactId>
            <version>1.1.4</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.testng</groupId>
                    <artifactId>testng</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
 
        <!-- 依賴Guice -->
        <dependency>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
            <version>3.0</version>
            <scope>test</scope>
        </dependency>
 
        <!-- 依賴Selenium驅動包 -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.52.0</version>
            <scope>compile</scope>
            <!--
            scope標籤中對應值的解釋:
                * compile,缺省值,適用於全部階段,會隨着項目一塊兒發佈。
                * provided,相似 compile,指望 JDK、容器或使用者會提供這個依賴。如 servlet.jar。
                * runtime,只在運行時使用,如 JDBC 驅動,適用運行和測試階段。
                * test,只在測試時使用,用於編譯和運行測試代碼。不會隨項目發佈。
                * system,相似 provided,須要顯式提供包含依賴的 jar, Maven 不會在 Repository 中查找它。
             -->
        </dependency>
 
    </dependencies>
 
 
 
 
    <build>
        <plugins>
            <!-- 添加插件 關聯testNg.xml -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>res/${xmlFileName}</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
 
            <!-- 添加插件,添加ReportNg的監聽器,修改最後的TestNg的報告 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <properties>
                        <property>
                            <name>usedefaultlisteners</name>
                            <value>false</value>
                        </property>
                        <property>
                            <name>listener</name>
                            <value>org.uncommons.reportng.HTMLReporter</value>
                        </property>
                    </properties>
                    <workingDirectory>target/</workingDirectory>
                    <!-- <forkMode>always</forkMode> -->
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
 
 
 
 
【注意:】上面配置若是報錯,須要在項目下新建一個目錄"res/testng.xml",他會去這個目錄讀取指定的XML

testng.xml配置以下:

 
 
 
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default suite">
    <test verbose="2" name="Default test">
        <classes>
            <class name="com.jase.test.BaiduTest" />
        </classes>
    </test> <!-- Default test -->
</suite> <!-- Default suite -->

運行Maven配置後,能夠看到Selenium自動執行了,而且在指定的目錄下""看到reportNG生成的報告

MavenTest

MavenInfo

MavenPath

MavenRes

相關文章
相關標籤/搜索