测试用例结构

时间:2012-12-12 08:26:43

标签: selenium web webdriver driver testng

我正在研究Selenium项目,并且在将手动测试案例转换为Selenium测试脚本方面存在一定的疑虑。

假设我有2个测试用例如下, 第一种情况: 1.使用GMAIL 2.使用有效的用户名和密码登录Gmail 3.检查收件箱中的新电子邮件。 4.阅读电子邮件 5.退出

第二种情况: 1.使用GMAIL 2.使用有效的用户名和密码登录Gmail 3.撰写电子邮件 4.发送电子邮件 5.退出

我的怀疑

  1. 每个测试用例是否是Java中的一个类?
  2. 每个测试步骤是java中的方法吗?
  3. 谢谢,一些意见可以帮助我。

3 个答案:

答案 0 :(得分:0)

它取决于你的java-selenium代码的复杂性和可用性。

每个测试用例是否是Java中的一个类?

--->在这种情况下,您可以编写一个登录功能的方法,您可以将用户名和密码作为参数传递给该方法。无论何时需要登录,都可以在任何类(您正在编写任何其他测试用例的类)中调用此方法。

因此,测试用例可以是一个类。如果它是一个单独的类,它将有助于调试和维护目的。如果测试用例过于复杂,您可以将功能分为两个或更多类。

每个测试步骤是java中的方法吗?

--->是的,它可以。当您检查登录或注销功能时,您将分别调用登录方法或注销方法。有时,如果该方法无法重复使用且仅适用于某个应用程序,那么它将不是一种方法。您需要显式编写所有逻辑,而不是调用已存在的方法。

答案 1 :(得分:0)

这是基于你的要求。

例如

public class gmailTest()
{

   @BeforeClass
   public void beforeClass()
   {
       1. Navigate to Gmail
       2. sign in
   }

   @BeforeMethod
   public void beforeMethod()
   {

   }
   @Test
   public void testInbox()
   {
        Check Inbox for New Emails , Read the email 
   }
   @Test
   public void testInbox()
   {
        Compose an email , send the email
   }
    @AfterMethod
   public void afterMethod()
   {

   }
   @BeforeClass
   public void afterClass()
   {
      signout
   }

}

@BeforeClass:在调用当前类中的第一个测试方法之前,将运行带注释的方法。

@AfterClass:在运行当前类中的所有测试方法之后,将运行带注释的方法。

@BeforeMethod:带注释的方法将在每个测试方法之前运行。

@AfterMethod:带注释的方法将在每个测试方法之后运行。

有关testng的更多信息,请点击here

答案 2 :(得分:0)

我曾经遇到过完全相同的问题(但我使用的是Python) 所以这就是我所做的:

1)每个class测试用例
2)每个method测试步骤
3)在class 设置拆除内完全到达初始点。 (所以它可以用于以后分发)
4)创建“如果一个方法失败 - >该类中其余方法未运行(自动失败)”的逻辑“

5)(!!)创建“如果方法改变状态然后为其添加'拆除'”的逻辑“