2016-11-24 5 views
0

私は10を超えるクラスを持つtestNGスイートを持っています。 testNG.xmlをスイートとして起動すると、ブラウザーを開いてクラスを終了し、すべてのクラスで閉じていた2番目のクラスに進む前にブラウザー(ff)が終了しません。ブラウザを閉じたクラスを1つだけ与えてテストしました。このような@AfterTesteclipseでtestNG.xmlを複数のクラスで実行しているときにWebDriverのウィンドウが閉じない

@BeforeClass(alwaysRun = true) 
public void setUp() throws Exception { 
driver = new FirefoxDriver(); 
baseUrl = "http://www.example.com"; 
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
} 

@Test(priority=0) 
public void testActivityMasterDBCheck() throws Exception { 
-------------------- 
-------------------- 
@AfterTest 
public void tearDown() throws Exception { 
driver.quit(); 
String verificationErrorString = verificationErrors.toString(); 
if (!"".equals(verificationErrorString)) 
{ 
fail(verificationErrorString); 
} 
} 

and XML is 

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite"> 
<test name="Test"> 
<classes> 
    <class name="Admin.ManagePackagesDBCheck"/> 
    <class name="Reports.ActiveStatusReportDBCheck"/> 
    ---------- 
</classes> 
</test> <!-- Test --> 
</suite> <!-- Suite --> 
+0

どのようなエラーが表示されますか? –

答えて

1

使用@AfterClass注釈については、以下のコードを確認してください:

@AfterClass 
public void tearDown() throws Exception { 
driver.quit(); 
String verificationErrorString = verificationErrors.toString(); 
if (!"".equals(verificationErrorString)) 
{ 
fail(verificationErrorString); 
} 
} 
0

@AfterClassと(alwaysRun =真)ことを行います。理由はあなたのブラウザが閉じていない可能性があります、あなたは1つのドライバインスタンスを使用して、ブラウザを開始しています。だからあなたの執行が終わると、次のクラスが実行を開始しますが、あなたはまだ終わっていません。ですから、@AfterClassまたは@AfterMethodを使ってみてください。 @AfterClassをお勧めします。あなたはあなたのドライバを起動しています。@BeforeClass

希望するものがあります。

+0

いいえ、それは閉じていません。 BeforeClassとAfterClassからalwaysRun = trueを削除しました。--------------- @ BeforeClass public void setUp()throws Exception { driver = new FirefoxDriver(); ------ ------------- @ AfterClass public void tearDown()例外をスローする{ driver.quit(); String verificationErrorString = verificationErrors.toString(); if(! ""。(verifyErrorString)){ が失敗(verifyErrorString); } } –

+0

テストに失敗しましたか?テストを実行しているときにどんなエラーが出ますか? –

+0

失敗しないと、実行されたすべてのクラスに対してブラウザが開いたままであり、複数のクラスを実行した後、ブラウザが停止します。 1つのtestng.xmlに20個のスクリプト/クラスがある場合、ブラウザは10個のクラスを実行した後に閉じるのではありません。たとえば、Firefoxの負荷のために、それが打ち出されます。 –

関連する問題