2016-01-23 77 views
0

代碼:無法讀取的testng.xml文件中聲明的參數

package TestNG; 

import org.testng.annotations.Parameters; 
import org.testng.annotations.Test; 

public class DataProvider { 
    @Parameters("param1") 
    @Test 
    public void getParam(String MyName) { 
     System.out.println("Parameter param1 value is :" + MyName); 
    } 
} 

的testng.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
    <suite name="TestNG"> 
     <test name="DataProvider"> 
     <classes> 
      <class name="TestNG.DataProvider"/> 
      <parameter name="param1" value="10"/> 
     </classes> 
     </test> 
    </suite> 

錯誤消息:

SKIPPED: getParam 
org.testng.TestNGException: 
Parameter 'param1' is required by @Test on method getParam but has not been marked @Optional or defined 
in C:\Users\Satish\AppData\Local\Temp\testng-eclipse--422714061\testng-customsuite.xml 
    at org.testng.internal.Parameters.createParameters(Parameters.java:154) 
    at org.testng.internal.Parameters.createParameters(Parameters.java:361) 
    at org.testng.internal.Parameters.handleParameters(Parameters.java:451) 
    at org.testng.internal.Invoker.handleParameters(Invoker.java:1276) 
    at org.testng.internal.Invoker.createParameters(Invoker.java:991) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1081) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) 

注:代碼TestNG中.xml沒有顏色編碼。這可能是一些配置問題,不能從testng.xml讀取參數

+0

testng.xml在這篇文章中的代碼是彩色編碼的,但它在我的eclipse – Jain

+0

中沒有顏色編碼,將參數行放在標記中。 – Shamik

回答

0

我試着用相同的代碼提供,執行得很好,沒有任何異常。你是如何創建testng.xml文件的?如果你是手動編寫的,而不是它,請嘗試下面的方法

右鍵單擊Eclipse中的src(或所需的包)>>移動到TestNG >>選擇轉換到TestNG >>單擊完成(您可以提供套件名稱這裏測試)

打開創建的testng.xml文件,放置於並聯假「」「平行=‘假’‘’」

現在運行的testng.xml文件。我請求讓我好避免命名convetion與像DataProvider的,TestNG的等保留字..

謝謝你, 穆拉利

0

你需要把參數標籤類的標籤之外,無論是在測試標籤或套件標籤。

確保通過運行方式 - >套件選項通過testng.xml運行,或者在項目屬性中將testng xml作爲模板xml。