1

我有一种方法说Login"First class"现在在我的"Second class" 再次登录中需要完成,所以任何人都可以告诉我完成这项任务的最简单方法是什么?

  1. 我是否应该在第二类中创建第一类的对象并调用第一类的方法。
  2. 我应该创建基类并扩展它吗?

如果可能,请提供任何示例谢谢

4

2 回答 2

1

好吧,让我在这里回答这个问题:

class MyBase
{
    void Login()
    {
        // TODO base defined login here
    }
}

class FirstClass extends MyBase
{
    // Define your methods in any order it is fine

    void Login()
    {
        // TODO firstclass defined login here
    }

    void addTest()
    {
        // Addtest code here
    }
}

int main()
{
    MyBase base;
    FirstClass firstClass;

    base.Login() // Will call the MyBase method for Login
    firstClass.Login() // Will call the FirstClass method for Login
}

所以定义方法的顺序并不重要,只要你做得很好。如果可能,请阅读Java 中的继承,以便更清楚地了解您的方法。

你现在完全明白了吗..?如果是,那么开始编码,如果不是,那么让我知道,我们会更深入......

于 2013-08-01T06:05:21.317 回答
1

我建议实现一个Page Object Model,并将登录代码重构为表示登录屏幕的对象的方法。这样,登录代码将最容易被任何需要执行登录的测试用例使用。代码看起来像这个简化版本:

public class LogInScreen {

    public void LogIn(String username, String password) {
        userNameTextField.sendKeys(username);
        passwordTextField.sendKeys(password);
        loginButton.click();
    }

public class MyTests {

    @Test
    public void testLoginNormalUser() {
        String username = "userA";
        String password = "badg3rs";
        publicscreen.LogIn(username, password);
        // carry on with the rest of the test.
    }

    @Test
    public void testLoginAdminUser() {
        String username = "userB";
        String password = "3lk";
        publicscreen.LogIn(username, password);
        // carry on with the rest of the test.
    }

请注意您从中获得的好处:

  1. 与登录控件交互的代码在代表登录屏幕的类中;测试用例代码不需要过多关注 UI 细节,因此每个 @test 都可以只关注测试逻辑。
  2. 任何测试用例都可以调用该login()方法。
  3. 很简单:不需要继承或重载。
于 2013-08-07T08:26:51.053 回答