1. 程式人生 > >Windows命令列執行TestNG

Windows命令列執行TestNG

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

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

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


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 

輸出結果

 

在linux下執行

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

在使用者目錄下的.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檔案即可