天天看點

Windows指令行執行TestNG

1、首先,java已安裝(自行搜尋,網上諸多解決方案)

2、設定TestNG環境變量(自行搜尋)

需要注意的是,光有一個testng.jar包是不夠的,還需要它所依賴的一系列的檔案,事先在eclipse上已配置過TestNG,找到testng.jar包所在的lib檔案,将該lib檔案的路徑設定成系統變量TESTNG_HOME,再在CLASSPATH變量中加入 %TESTNG_HOME%\testng.jar;(注意有分号)下圖為lib檔案夾下的各類jar包

Windows指令行執行TestNG

3、在E盤建立一個Test檔案夾,建立一個java類,檔案名為TestNGSample  E:\ > Test

import org.testng.annotations.Test;

importstatic org.testng.Assert.assertEquals;

publicclassTestNGSample{

             @Test

             publicvoid testAdd(){

                     String str="TestNG is working fine";

                      assertEquals("TestNG is working fine", str);

             }

}

4、 建立一個XML,檔案名稱testng.xml,用來執行測試用例  E:\ > Test

<?xml version="1.0" encoding="UTF-8"?>      
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >      
<suitename="Suite">      
<testname="test">      
   <classes>      
      <classname="TestNGSample"/>      
   </classes>      
</test>      
</suite>      

5、 編譯TestNGSimpleTest

E:\Test >javac TestNGSample.java

6、 調用testng.xml看到的結果:

E:\Test >java org.testng.TestNG testng.xml

輸入結果為

===============================================

Suite1

Total tests run: 1, Failures: 0, Skips: 0

===============================================

-----------------------------------------------------分割線----------------------------------------------------

TestNG參數化測試,各java類檔案不在同一目錄下

建立一個java類PrimeNumberChecker.java。路徑為E:\ > Test > data

package data;

public class PrimeNumberChecker {

    public Boolean validate(final IntegerprimeNumber) {

        for (inti = 2;i < (primeNumber / 2);i++) {

            if (primeNumber %i == 0) {

                return false;

             }

        }

        return true;

    }

}

建立Java類檔案名ParamTestWithDataProvider.java  路徑為E:\> Test > main

package main;

import org.testng.Assert;

import org.testng.annotations.BeforeMethod;

import org.testng.annotations.DataProvider;

import org.testng.annotations.Test;

import data.PrimeNumberChecker;

public class ParamTestWithDataProvider {

    private PrimeNumberCheckerprimeNumberChecker;

    @BeforeMethod

    public void initialize() {

        primeNumberChecker = new PrimeNumberChecker();

    }

    @DataProvider(name = "test1")

    public static Object[][] primeNumbers() {

        return new Object[][] { { 2, true }, { 6, false }, { 19, true },

                 { 22, false }, { 23,true } };

    }

    // This test will run 4 times since we have 5 parameters defined

    @Test(dataProvider = "test1")

    public void testPrimeNumberChecker(Integer inputNumber,

        Boolean expectedResult) {

         System.out.println(inputNumber +" " +expectedResult);

         Assert.assertEquals(expectedResult,

                 primeNumberChecker.validate(inputNumber));

    }

}

建立testng.xml,路徑為E:\ > Test

<?xmlversion="1.0"encoding="UTF-8"?>

<suitename="Suite1">

    <testname="test1">

         <classes>

             <classname="main.ParamTestWithDataProvider"/>  注意main.Param

             </classes>

    </test>

</suite>

打開cmd,在E:\ > Test >進行編譯執行

E:\Test>javac data\PrimeNumberChecker.java  

E:\Test>javac main\ParamTestWithDataProvider.java

E:\Test>java org.testng.TestNG testng.xml 

輸出結果

Windows指令行執行TestNG

在linux下運作

利用Xftp将testng相關的jar包放到linux的某一個目錄下  /home/hzyezi/local/testing-lib

設定環境變量:http://www.yiibai.com/html/testng/2013/0914293.html

                            http://blog.csdn.net/weiyidemaomao/article/details/7742605

在使用者目錄下的.bash_profile檔案中增加變量【對單一使用者生效(永久的)】

用VI在使用者目錄下的.bash_profile檔案中增加變量,改變量僅會對目前使用者有效,并且是“永久的”。

例如:編輯li使用者目錄(/home/li)下的.bashrc

$ vi /home/hzyezi/.bashrc

添加如下内容:

export TESTNG_HOME=/home/hzyezi/local/testng-lib

export CLASSPATH=$CLASSPATH:$TESTNG_HOME/testng.jar

注:修改檔案後要想馬上生效還要運作$ source /home/li/.bashrc不然隻能在下次重進此使用者時生效。

然後依據上文所述建立java檔案和xml檔案即可

繼續閱讀