2016-11-17 45 views

回答

0

其中一種方法是使用@Parameters註釋。

代碼@BeforeMethod是 -

@BeforeMethod 
@Parameters("browser") 
public void testMethod1(String browser) { 
    //do your task here 
} 

代碼方法A-

@Test 
@Parameters("email") 
public void A(String email) { 
    //implement your test logic here 
} 

樣品TestNG的的Sample-

<suite name="Suite1" verbose="1" > 

<test name="Test1"> 
    <parameter name="browser" value="firefox"/> 
    <parameter name="email" value="an-email-id"/> 
    <classes> 
    <class name="packagename.ClassName"/> 
    </classes> 
</test> 

</suite> 
+0

thnx @optimist_creeper,我知道我必須使用@參數或@ dataprovider,但我如何將它們傳遞給不同的值和@ beforemethod上的每個值如何在@ test中傳遞相應的值測試幾個方法需要運行3次數少2次 – Mahen

+0

然後你可以使用DataProvider。 –

0

我發現我的問題的解決方案,請樂我知道如果更有效的方法是存在的..我有userd @參數(感謝名單optimist_creeper),並在testng.xml文件我已經創建了不同的測試

<?xml version="1.0" encoding="UTF-8"?> 

      <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
      <suite name="Suite"> 
      <test name="Chrome_test"> 
      <parameter name="Browser" value="chrome"></parameter> 
      <parameter name="email" value="a"></parameter> 
      <classes> 
       <class name="selenium.mail.gmail.BabyTest"> 
        <methods> 
         <include name="A" /> 
         <include name="B" /> 
         <exclude name="C" /> 
        </methods> 
     </class> 
    </classes> 
</test> <!-- Test --> 

<test name="FF_test"> 
    <parameter name="Browser" value="Firefox"></parameter> 
    <parameter name="email" value="b"></parameter> 
    <classes> 
     <class name="selenium.mail.gmail.BabyTest"> 
      <methods> 
       <exclude name="C" /> 
      </methods> 
     </class> 
    </classes> 
</test> 


<test name="IE_test"> 
    <parameter name="Browser" value="IE"></parameter> 
    <parameter name="email" value="c"></parameter> 
    <classes> 
     <class name="selenium.mail.gmail.BabyTest"> 
      <methods> 
       <include name="A" /> 
      </methods> 
     </class> 
    </classes> 
</test> 

對於錯誤的縮進感到抱歉,沒有正確顯示正確縮進的代碼。

+0

關於驅動程序和測試數據管理。你可以利用[QAF](https://qmetry.github.io/qaf)。在哪裏可以通過使用'driver.name'屬性和您可以在數據文件中提供的數據來指定驅動程序。我確信你需要填寫這些數據,你可以使用[formDatabean](https://qmetry.github.io/qaf/latest/databeans.html#form-data-bean)填充隨機數據或數據文件。所以當你有大量的測試用例時,你可以正確地管理測試數據。 – user861594

相關問題