我已@beforemethod我與試驗3(A,B,C),並且這類TestNG的類擴展基類和@ aftermethodSelenium_testng_Java_passing數據兩者@beforetest和@test
現在我想通過瀏覽器以@方法和電子郵件發送到方法A
電子郵件必須每次都是唯一的。
我已@beforemethod我與試驗3(A,B,C),並且這類TestNG的類擴展基類和@ aftermethodSelenium_testng_Java_passing數據兩者@beforetest和@test
現在我想通過瀏覽器以@方法和電子郵件發送到方法A
電子郵件必須每次都是唯一的。
其中一種方法是使用@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>
我發現我的問題的解決方案,請樂我知道如果更有效的方法是存在的..我有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>
對於錯誤的縮進感到抱歉,沒有正確顯示正確縮進的代碼。
關於驅動程序和測試數據管理。你可以利用[QAF](https://qmetry.github.io/qaf)。在哪裏可以通過使用'driver.name'屬性和您可以在數據文件中提供的數據來指定驅動程序。我確信你需要填寫這些數據,你可以使用[formDatabean](https://qmetry.github.io/qaf/latest/databeans.html#form-data-bean)填充隨機數據或數據文件。所以當你有大量的測試用例時,你可以正確地管理測試數據。 – user861594
thnx @optimist_creeper,我知道我必須使用@參數或@ dataprovider,但我如何將它們傳遞給不同的值和@ beforemethod上的每個值如何在@ test中傳遞相應的值測試幾個方法需要運行3次數少2次 – Mahen
然後你可以使用DataProvider。 –