gpt4 book ai didi

java - 每个页面测试初始化​​一个对象是一种好习惯吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:00:34 25 4
gpt4 key购买 nike

我正在将 Selenium 与页面对象模式一起使用。我有一个关于创建页面对象类的对象的问题。

哪个选项更好:

@BeforeTest
public void browser() throws IOException {
driver = initializeBrowser();
loginPage = new LoginPage(driver);
}

并像这样使用它:

@Test
public void loginToApp() throws InterruptedException {
loginPage.clickLoginButton();
Assert.assertTrue("some assertion");
}

@Test
public void loginToAppUsingLogin() throws IOException {
loginPage.sendLogin("login");
loginPage.sendPassword("password");
loginPage.clickLoginButton();

Assert.assertTrue("some assertion");
}

或者

 @BeforeTest
public void browser() throws IOException {
driver = initializeBrowser();
}


@Test
public void loginToApp() throws InterruptedException {
loginPage = new LoginPage(driver);
loginPage.clickLoginButton();
Assert.assertTrue("some assertion");
}

@Test
public void loginToAppUsingLogin() throws IOException {
loginPage = new LoginPage(driver);
loginPage.sendLogin("login");
loginPage.sendPassword("password");
loginPage.clickLoginButton();

Assert.assertTrue("some assertion");
}

在每个测试套件的 @BeforeTest 中创建一个对象是否有任何禁忌?

最佳答案

我不知道同意是什么,但是@BeforeTest注释像你一样正确使用。它会在每次单独测试之前初始化您的 loginPage 对象。

(我假设您使用 TestNG)

根据我的经验,您的第一种方法更好,因为它还减少了重复代码的数量。请参阅DRY

关于java - 每个页面测试初始化​​一个对象是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53558790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com