私はtestng.xmlの下にいくつかのテストケースを持っています。私のtestng.xmlは以下のようになります。@TestアノテーションがtestNGのすべてのテストで最初に実行されていますか?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="AutomationPractice" parallel="none">
<test name="Logins">
<classes>
<class name="newMavenProject.Gmail_Login_Firefox"/>
<class name="newMavenProject.Facebook_Login_Chrome"/>
</classes>
</test> <!-- Logins -->
</suite> <!-- AutomationPractice -->
私の両方のテストでは、@BeforeTest、@Testと@AfterTestアノテーションがあります。 testng.xmlをtestNGSuiteとして実行します。ブラウザーが両方のテスト(@BeforeTest)を同時に開いてから、Gmail_Loginテストが@Testアノテーションを実行することがわかります。それから、Facebook_Login_Chromeは@Testアノテーションを実行します。そして、私のGmail_Loginテストは@AfterTestアノテーションを実行し(ブラウザを閉じる)、私のFacebook_Login_Chromeテストは@AfterTestアノテーション(ブラウザを閉じる)を実行します。
Gmail_Loginテストが完全に実行されるようにするには(@BeforeTest、@Test、@AfterTest)、Facebook_Login_Chromeテストが完全に実行されます(@BeforeTest、@Test、@AfterTest)。
ありがとうございます!
この問題をシミュレートするために使用しているコードを教えてください。スレッドIDを印刷するときにも、何が表示されますか? TestNGは、明示的に構成されていない限り、パラレルで何も実行すべきではありません。したがって、印刷スレッドIDロジックを追加して出力を共有することができます。また、使用しているTestNGのバージョンも含めてください。今日の最新リリース版は '6.13.1'です –
beforemethodとaftermethodを使用して、テストメソッドをすぐに実行してください。テストタグに対して、事前テストおよびアフターテストが実行されます。 – Grasshopper