【问题标题】:Selenium 2 - How to run multiple JUnit tests with one WebDriver Instance in Java?Selenium 2 - 如何使用 Java 中的一个 WebDriver 实例运行多个 JUnit 测试?
【发布时间】:2012-09-17 04:15:49
【问题描述】:

每次新的 ChromeDriver 实例都启动我的 TestCases (TestClasses),如 TestLogIn、TestLogOut、TestSendEmail、TestDeleteEmail 等。如何使用一个 WebDriver 实例运行多个测试?谁能给我一些例子?

我在java中的结构:

GenericClass.java:

public class GenericClass extends TestCase
//some code

TestLogin.java:

public class TestLogin extends GenericClass
//code

【问题讨论】:

    标签: google-chrome testing junit selenium-webdriver


    【解决方案1】:

    我解决这个问题的想法是让 WebDriver 静态化。

    public class ProjectTests { 
    static WebDriver driver;
    @BeforeClass
    public static void setStuff() 
    {   
        driver = new FirefoxDriver();
    }
    @Test
    public void testOne(){}
    

    然后,您可以将驱动程序实例传递给每个测试方法。测试将在 WebDriver 的同一实例中执行。 也许这不是最优雅的方法,但对我来说它很有效。

    【讨论】:

    • 感谢您的快速回答.. 还有一件事,我的 TestCases 在单独的课程中。 TestLogin 在 TestLogin.java 中,TestSendEmail 在 TestSendEmail.java 中,所有这些类都扩展了我的 GenericClass,我有像 BeforeClass AfterClass 这样的东西。我无法为所有这些类创建一个浏览器实例。有没有办法重新启动浏览器实例, 删除 cookie 并在同一实例中运行下一个 TestCase?
    • 您不能在测试套件而不是测试用例中尝试此答案中描述的方法吗?您只需从测试套件中调用所有测试用例。测试用例可以从测试套件中静态访问驱动程序。测试套件在运行测试用例之前调用 BeforeClass 方法。您还可以使用 AfterClass 方法退出驱动程序。
    猜你喜欢
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多