在JUnit 4中是否有相当于testNG的@BeforeSuite?

use*_*166 6 eclipse testing junit selenium junit4

我是测试自动化领域的新手,请原谅我,如果这是一个愚蠢的问题,但谷歌这次失败了.或者至少我读过的任何内容都让我更加困惑.

我在Eclipse中使用JUnit 4和Selenium Webdriver.我有几个测试需要作为套件运行,也需要单独运行.目前,这些测试在自行运行时运行良好.在测试开始时,向测试者/用户呈现输入框,询问他们想要测试的服务器(这是一个字符串变量,它成为URL的一部分)以及他们希望测试的浏览器.在套件中运行测试时,用户在每次测试开始时都会被问到这一点,因为很明显这会被编码到他们的每个@Before方法中.

我如何接受这些值一次,并将它们传递给每个测试方法?

因此,如果server ="server1"和browser ="firefox",那么firefox是我想要selenium使用的浏览器,我希望它打开的URL是http://server1.blah.com/,用于以下所有测试方法.我一直在使用单独的@Before方法的原因是因为每个测试方法所需的URL略有不同.即每种方法测试不同的页面,例如server1.blah.com/something和server1.blah.com/somethingElse

测试运行正常,我只是不想继续输入值,因为测试方法的数量最终会很大.

如果在testNG中有更简单的方法,我也可以将我的测试转换为testNG.我认为@BeforeSuite注释可能有用,但现在我不确定.

任何建议和批评(建设性的)都非常感谢

Sam*_*Sam 0

将测试分组可能是有意义的,这样测试套件将具有相同的 @Before 方法代码,因此每个单独的测试套件都有一个。

另一种选择可能是为每个测试使用相同的基本 url,但通过让 selenium 单击您想要执行测试的位置来导航到特定页面。