簡體   English   中英

使用TestNG DataProvider時,是否可以從SAME Excel工作表中讀取和寫入參數?

[英]When using TestNG DataProvider is there a way to read and write parameters from the SAME Excel sheet?

我對Java和TestNG還是比較陌生,所以如果我使用了錯誤的技術術語,請原諒我。 如果我需要糾正自己或澄清自己的話,我會全天關注答復。

在我正在編寫的自動化測試中,我正在通過數據提供程序通過Excel工作表傳遞參數。 整個部分都很好。 但是,我現在想對元素執行getText()並將該String Back復制到Data Provider正在讀取的excel工作表中。

這是我意圖的一個例子:

//Grabs Parameters to be used from Excel Sheet
@DataProvider
public Object[][] getData(){
suiteXls = new Xls_Reader(System.getProperty("user.dir")+"//src//testData.xlsx")
List<String> sheetNames = new ArrayList<String>();
sheetNames.add("TestStrings");
return TestUtilFinal.getData(suiteXls,sheetNames);
}

//Test Begins
@Test(dataProvider="getData")
public void Test1(String Value_1, String Operator, String Value_2, String Output){
// do some work here
Output.saveToCell();

我可能看到的一個問題是,將值保存在其中的單元格是動態的。

這是運行測試之前excel工作表的外觀

這是運行測試后同一張紙想要的。 任何幫助或見識將不勝感激! 謝謝

  1. 我建議將您的輸入視為不可變的。 我發現,當您修改流程的輸入時,當您重復該流程時(如在測試中經常進行的那樣),那么很快就不清楚當前結果來自何處。 通常,最好創建一個包含一些/所有輸入數據以及輸出數據的唯一輸出文件。 我經常用構建修訂版和/或時間戳命名此類輸出文件,以便每個文件都是唯一且可引用的。
  2. 如果您確實要修改輸入,則需要引用Excel“ Row”對象進行測試。 例如,您可以將其添加到提供給測試的數據中。
  3. 從您的getData方法尚不清楚,但我懷疑您正在使用Apache POI(直接或間接)從Excel工作表中讀取數據。 關於StackOverflow和其他地方,有很多使用Apache POI讀取和寫入數據行的示例。 您只需要維護對測試用例的Row對象的引用,然后知道將輸出寫入哪一列(單元格)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM