0

背景:我正在尝试使用 Fluentlenium 编写端到端的硒测试(在 Java 中,fwiw)

@Test当扩展FluentTestNg. 现在,我看到浏览器会话在一个 @Test 方法完成后退出,并在下一个@Test方法开始时弹出一个新会话。我希望能够@Test(dependsOnMethods = "previousMethod")在 UI 测试期间使用,因此,将浏览器会话转移到下一个方法。

我有一个扩展的测试类FluentTestNg,带有一个@BeforeClass(甚至是一个@BeforeSuite),我根据系统属性的值初始化浏览器,然后调用测试方法。我已经发布了下面的片段。

public class LoginTest extends FluentTestNg {

@BeforeClass
    public static void setupClass() {

        List<String> browserList = Arrays.stream(DriverManagerType.values()).
                map(DriverManagerType::toString).collect(Collectors.toList());

        String browserName = CaseUtils.toCamelCase(System.getProperty("fluentlenium.webDriver"),true);

        if(browserList.contains(browserName)) {
            DriverManagerType driverManagerType = DriverManagerType.valueOf(browserName.toUpperCase());
            WebDriverManager.getInstance(driverManagerType).setup();
        }
    }

@Test
public void logIn() { 
// something
 }

@Test(dependsOnMethods = "logIn") 
public void logOut() { 
// some more thing to logout
}

}

该文档没有讨论此类情况的任何内容,因此退回到 SO。我觉得那里的某个人可能已经对此有了答案或解决方案。

4

1 回答 1

0

这应该可以解决问题

    @FluentConfiguration(driverLifecycle = ConfigurationProperties.DriverLifecycle.CLASS)
    public class LoginTest extends FluentTestNg {
    ..
    ..
    }
于 2021-06-04T22:12:11.643 回答