【发布时间】:2012-12-12 23:58:29
【问题描述】:
所以,我有几个JUnit 类,每个类都包含一个测试方法列表。
每种方法都是相互独立的,没有直接的联系。
但是我们有间接联系:所有方法都处理一个单例对象(它是Selenium Web Driver Instance,是的,我在所有测试中都使用了 1 个Web Driver Instance,因为为了创建新的对象实例,我们花了很多时间!)。
当测试方法在一个线程中逐步执行时,一切正常。不过也太长了,
所以,我决定提高速度, 如何? - 我决定以并行模式运行所有测试方法。为此,我使用具有特殊配置的 maven 来执行并行测试。
但我认为,这是一个新问题的根源,因为 - 结果我们有并行方法执行,但我们仍然只使用 single Web 驱动程序实例。
我正在寻找最佳解决方案:
我希望测试以并行模式执行 - 它真的很快。
我不希望每次测试都创建新对象 - 这是一个非常漫长的过程。
你能给我什么建议?
你会如何解决这个问题?
【问题讨论】:
-
你有多少测试?
-
即使每个线程(而不是每个测试)创建一个新驱动程序的成本可能仍然很快
-
目前,我有2个测试类,每个包含5-7个测试方法。
标签: java selenium junit parallel-processing webdriver