1

我正在从事一个 Selenium 项目,并且对将手动测试用例转换为 Selenium 测试脚本有一定的疑问。

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

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

我的疑惑

  1. 每个测试用例都是 Java 中的一个类吗?
  2. 每个测试步骤都是java中的方法吗?

谢谢,一些输入会帮助我。

4

3 回答 3

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 的更多信息,请单击此处

于 2012-12-12T09:32:37.643 回答
0

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

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

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

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

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

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

于 2012-12-12T09:27:11.770 回答
0

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

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

5)(!!)创建“如果方法更改状态,则为其添加'tear down'”的逻辑

于 2012-12-15T13:57:31.373 回答