【发布时间】:2014-02-04 07:22:43
【问题描述】:
我对 Selenium 很陌生,但有很好的编码经验
我正在研究非常复杂的 Web 应用程序的自动化。 对于我的测试,我使用的是 junit 框架。
我不希望我的课程扩大到巨大的规模,所以这就是我划分每页自动化的方式。例如。我有主页。从它我可以进入设置、仪表板和许多其他页面。因此,与主页相关的所有修改/功能我都保留在主页类中。然后对于每个下一页我都有另一个类,我在其中创建 webdriver 并将其分配给上一页 webdriver。因此,每个类再次反映了我可以在该特定页面上实现的功能。
假设我有第 4 级页面,我将有一个第 4 级的类,在创建它时将创建第 3 级页面,第 3 级将首先创建第 2 级,依此类推,在某些时候我会得到一直到第一个登录页面。基本上我有一棵树,我的 loginPage 在它的头部。
它工作得很好,在涉及到 junit 之前我没有任何问题。 我喜欢在我的@After 类中关闭浏览器的想法,并且我有不同的页面类。我如何将它们全部弯曲在一起,无论我在测试中创建和使用什么类页面,我的 after 方法是关闭那个浏览器?
谢谢
【问题讨论】:
-
webDriver.quit()怎么样? -
只使用一个 Web 驱动程序(在您的特定 JUnit 测试用例中创建它),而不是为每个页面创建一个 Web 驱动程序,只需在每个页面类中创建可以将驱动程序传递给的方法。
-
太棒了。谢谢。我没有在我的每个班级中创建 webdriver,而是仅在第一个登录页面上创建,然后我将它传递给我的其他班级。我将更改结构,以便我的第一个主页将该 webdriver 作为参数,然后每次在测试之前创建一个,并且能够在 after 方法中退出它。
标签: java design-patterns selenium junit automation