我正在尝试创建一个 JUnit 测试,要求用户使用管理员帐户登录。为了使我不必重复代码,我完成了Login
JUnit 测试和GoToAdminPage
JUnit 测试。
首先访问登录页面并登录。
第二个尝试访问只有管理员才能访问的菜单,旨在从第一个离开的地方继续。我想要的是GoToAdminPage
从相同的页面开始并以相同的环境Login
结束。
这个想法是,通过创建Login
自动化测试,我可以将其重复用于我将来想做的任何需要管理员权限的测试。
我想做的是,在 中setUp()
调用GoToAdminPage
第一个测试。然而,它的作用是,它启动一个测试浏览器GoToAdminPage
,然后立即启动另一个测试浏览器,该浏览器由于包含指令Login
而关闭。Login.tearDown()
driver.quit()
我想要的是GoToAdminPage
期望在同一页面结束时正确拾取Login
,它没有get
说明,因此它永远不会离开起始的 Firefox 页面。
我已经尝试过一些事情。我的每个测试都继承该类BasicTest
,该类定义了许多内容(WebDriver、JS Executor、通用实用函数等)。在该课程中,我创建了一个perform()
调用setUp()
和的函数test()
。
这样,在 中GoToAdminPage
,我所要做的就是调用Login.perform()
,GoToAdminPage.setUp()
这将在技术上实现我想做的事情。然而,事实并非如此,并且具有与我上面提到的相同的效果。
在网上查看,我发现我也可以做到这一点GoToAdminPage extends Login
,但也有相同的结果。
最后,我尝试将整个Login.test()
过程放在类中的一个单独的函数中Login
,我可以在 inside 调用该函数GoToAdminPage
,但这具有相同的结果。
总而言之,似乎发生的情况是,当我在内部调用另一个 JUnit 测试时GoToLoginPage
,它会执行测试,但将其作为单独的测试进行。
我想要的是能够本质上使这一切成为一个大测试,一旦我调用了Login
,我就可以在我的用户登录的情况下与登录后页面进行交互。本质上我只是想GoToAdminPage
成为 的Login
扩展过程。
这可能吗?
阿波罗的战车
qq_遁去的一_1
元芳怎么了
相关分类