在 Selenium 中,在同一个测试方法中多次重用 Page class 的同一个实例是否好,还是我应该创建新实例?
In Selenium, is it good to reuse same instance of the Page class multiple times in the same test method or should I create new instance?
我需要测试网站:https://www.rediff.com 使用 PageFactory 模式。
我的测试方法执行以下步骤:
步骤1。转到 Rediff 主页 https://www.rediff.com/
第2步。点击登录按钮
第 3 步。输入用户名和密码并点击提交按钮
第4步。单击左上角的 rediff.com link,用户将返回 Rediff 主页。现在在搜索栏中输入文本并单击搜索按钮
下面是测试class:
public class RediffLoginTest extends BaseClass
{
@Test
public void loginAndSearch() throws InterruptedException
{
// Step-1
getDriver().navigate().to("https://www.rediff.com");
// Step-2
RediffHomePage rhp = new RediffHomePage();
PageFactory.initElements(getDriver(), rhp);
rhp.signIn().click();
// Step-3
RediffLoginPage rlp = new RediffLoginPage();
PageFactory.initElements(getDriver(), rlp);
rlp.enterEmailID().sendKeys("hello");
rlp.enterPassword().sendKeys("demopass");
rlp.submitLogin().submit();
// Step-4
rlp.goToHomePage().click();
rhp.enterSearchText().sendKeys("demo");
rhp.submitSearch().click();
}
}
按照上面解释的第 4 步,它带我回到 Rediff 主页。我已经在步骤 2 中创建了 RediffHomePage 的对象 rhp
。所以,我的问题是,对于第 4 步,重用上面代码中显示的同一对象 rhp
是否好,或者我应该在同一测试中创建同一页面的另一个对象 class方法例如说 rhp1
的 RediffHomePage 如下面的代码所示 ?
RediffHomePage rhp1 = new RediffHomePage();
PageFactory.initElements(getDriver(), rhp1);
rhp1.enterSearchText().sendKeys("demo");
rhp1.submitSearch().click();
如果可能,在这种情况下您绝对应该重用现有对象,而不是一次又一次地创建新的冗余对象。
我需要测试网站:https://www.rediff.com 使用 PageFactory 模式。
我的测试方法执行以下步骤:
步骤1。转到 Rediff 主页 https://www.rediff.com/
第2步。点击登录按钮
第 3 步。输入用户名和密码并点击提交按钮
第4步。单击左上角的 rediff.com link,用户将返回 Rediff 主页。现在在搜索栏中输入文本并单击搜索按钮
下面是测试class:
public class RediffLoginTest extends BaseClass
{
@Test
public void loginAndSearch() throws InterruptedException
{
// Step-1
getDriver().navigate().to("https://www.rediff.com");
// Step-2
RediffHomePage rhp = new RediffHomePage();
PageFactory.initElements(getDriver(), rhp);
rhp.signIn().click();
// Step-3
RediffLoginPage rlp = new RediffLoginPage();
PageFactory.initElements(getDriver(), rlp);
rlp.enterEmailID().sendKeys("hello");
rlp.enterPassword().sendKeys("demopass");
rlp.submitLogin().submit();
// Step-4
rlp.goToHomePage().click();
rhp.enterSearchText().sendKeys("demo");
rhp.submitSearch().click();
}
}
按照上面解释的第 4 步,它带我回到 Rediff 主页。我已经在步骤 2 中创建了 RediffHomePage 的对象 rhp
。所以,我的问题是,对于第 4 步,重用上面代码中显示的同一对象 rhp
是否好,或者我应该在同一测试中创建同一页面的另一个对象 class方法例如说 rhp1
的 RediffHomePage 如下面的代码所示 ?
RediffHomePage rhp1 = new RediffHomePage();
PageFactory.initElements(getDriver(), rhp1);
rhp1.enterSearchText().sendKeys("demo");
rhp1.submitSearch().click();
如果可能,在这种情况下您绝对应该重用现有对象,而不是一次又一次地创建新的冗余对象。