TestNG @BerforeMethod运行在与测试不同的浏览器中

时间:2017-01-16 09:30:14

标签: testng

我想在使用@BeforeMethod注释的方法中打开测试页面,然后使用此浏览器实例进行测试,但现在setUp在一个浏览器中运行,测试TestNG打开一个新的浏览器实例。我怎么解决这个问题? 我从IntelliJ运行xml:

<suite name="all" verbose="1">
<test name="AllTests" preserve-order="true" time-out="7200000">
    <classes>
        <class name="test.ProjectCreationTests">
            <methods>
                <include name="testNewProject" />
            </methods>
        </class>
    </classes>
</test>

我还尝试通过方法从IntelliJ运行测试,在这种情况下,它按预期工作,由安装程序打开的浏览器被测试使用。

UPDATE1: 我使用Selenide所以我不必初始化驱动程序。我认为我的测试中没有什么特别的,我不能分享整个,对不起。 baseURL在@BeforeClass方法中定义。

@Test
public void testNewProject() {
    createProjectPage.tickProjectType(CreateProjectPage.ProjectTypeOptions.NEW_PROJECT);
    createProjectPage.clickOnNext();
    ...

@BeforeMethod
public void beforeMethod() {
    createProjectPage = open("/createProject.spr", CreateProjectPage.class);

}

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案。 @ TimeMethod,@ AfterMethod等在timeOut定义时在不同的线程中运行。资料来源:https://groups.google.com/forum/#!topic/testng-users/8XYt-El2_JU