【发布时间】:2011-12-08 17:50:00
【问题描述】:
我是测试自动化领域的新手,如果这是一个愚蠢的问题,请原谅我,但这次谷歌让我失望了。或者至少我读过的任何东西都让我更加困惑。
我在 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 注释可能有效,但现在我不确定。
非常感谢任何建议和批评(建设性的)
【问题讨论】:
标签: eclipse testing selenium junit junit4