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 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 <!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檔案即可