0

ログインとログアウトのテスト スクリプトを実行しようとしています。ログインとログアウトはどちらもメソッドです。データ駆動型フレームワークのログイン方法でデータプロバイダーを使用しましたが、ログアウト方法はログインに依存しています。しかし、実行すると、すべてのデータを含むログイン メソッドとログアウトが最後に 1 回だけ実行されます。データ駆動型フレームワークのためにログインとログアウトを次々に実行する方法.助けてくれてありがとう.

 @Test(dataProvider = "DP")
       public void login(String Usrname, String Pwd)
       {
            driver = new FirefoxDriver();
                driver.get("***********");
                driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
                driver.findElement(By.id("username")).sendKeys(Usrname);
                driver.findElement(By.id("password")).sendKeys(Pwd);
                driver.findElement(By.id("login")).click();
       }

       @Test(dependsOnMethods = { "login" })
       public void logout(String Usrname, String Pwd)
       {
           driver.findElement(By.id("logout")).click();
           driver.close();
       }

XMLファイルを次のように使用しました:

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

<test name="Factory" group-by-instances="true">
    <classes>
      <class name="test.AllMethod">
        <methods>
           <include name="login"/>
            <include name="logout"/>
        </methods>
      </class>
    </classes>
  </test>
</suite>

次のように実行します:

login(1)
login(2)
login(3)
logout(1)
logout(2)
logout(3)

次のように実行するにはどうすればよいですか:

login(1)
logout(1)
login(2)
logout(2)
login(3)
logout(3)
4

2 に答える 2

0

メソッドではなく、メソッドに@AfterMethodアノテーションを使用してください(それに応じてスイートファイルを変更してください)。logout()@Test

logout メソッドは、引数として渡された資格情報を使用しません。ちなみに、これらはスキップできます。

于 2013-07-16T09:57:19.033 に答える
0

//ログアウトメソッドの前に @Test(dependsOnMethods = { "login" }) を使用しないでください。代わりに @AfterMethod を使用してください

@Test(dataProvider = "DP")
   public void login(String Usrname, String Pwd)
   {
        driver = new FirefoxDriver();
            driver.get("***********");
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            driver.findElement(By.id("username")).sendKeys(Usrname);
            driver.findElement(By.id("password")).sendKeys(Pwd);
            driver.findElement(By.id("login")).click();
   }

   @AfterMethod
   public void logout(String Usrname, String Pwd)
   {
       driver.findElement(By.id("logout")).click();
       driver.close();
   }
于 2013-07-17T06:06:53.370 に答える