【问题标题】:How can I split my Java Selenium tests into separate classes?如何将我的 Java Selenium 测试拆分为单独的类?
【发布时间】:2016-01-29 15:18:43
【问题描述】:

我目前的工作是使用Selenium 2 通过JavaEclipse 中执行我们的网页的GUI 测试。我一直在尝试以这样一种方式对我的测试进行编程,以最大限度地提高我可以重用的代码量,因此我现在有很多帮助方法,它们的功能几乎就像一个框架。这导致我的测试类变得相当臃肿,只有一种方法用作实际测试,其余的都是测试的实现。

目前我只是从Eclipse 运行测试,我的所有方法都是静态的。

据我了解,有几种不同的方法可以尝试将它们分开:

  • 一种方法是将所有方法放入我用作框架的类中,并在编写实际测试时对其进行扩展,但我不知道框架中是否有框架(Selenium)有道理。

  • 另一种方法可能是将我的辅助方法制作成一个对象,在该对象中我可以为每个测试使用其中一个对象。我不知道这是否是一种好的做法,或者它是否会在未来引起问题。这也意味着我必须输入更多才能进行相同数量的测试。

我的主要问题是:

  • 将测试类拆分为测试类和实现类的最佳方法是什么?

  • 我所做的是否超出了Selenium 的预期用途?

【问题讨论】:

    标签: java selenium testing web-testing design-principles


    【解决方案1】:

    最佳做法是为每个 Web UI 创建一个page object model。这将帮助您轻松访问 Web 元素。selenium 提供该功能,您还必须做一些研发工作。

     Home_Page.lnk_MyAccount(driver).click();
    
     LogIn_Page.txtbx_UserName(driver).sendKeys("testuser_1");
    
     LogIn_Page.txtbx_Password(driver).sendKeys("Test@123");
    

    并将所有与 selenium 相关的操作放入一个类中。例如 Action.click(),Action.search(), 或您常用的一组操作。

    接下来是通过函数实现可重用代码。假设login(usernName,Password) 然后处理其中的登录代码。您可以在其他地方重用这些代码。始终尝试模块化您的实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多