gpt4 book ai didi

java - 如何创建类的公共(public)对象以在 TestNG 类的所有方法中使用?

转载 作者:行者123 更新时间:2023-12-02 11:39:52 28 4
gpt4 key购买 nike

package com.test;

import org.testng.Reporter;

import org.testng.annotations.Test;

import org.openqa.selenium.support.PageFactory;

import utility.BaseClass;

import com.pages.LoginPageObjects;

public class UnderTest extends BaseClass

{

@Test(description = "Email login")
public void f()
{
Reporter.log("===dude===", true);
LoginPageObjects lpage = PageFactory.initElements(driver, LoginPageObjects.class);
lpage.click_signin_link();
lpage.enter_uid("test@gmail.com");
lpage.click_submit();
}

@Test(description = "fb login")
public void fe() throws InterruptedException
{
Reporter.log("===dude===", true);
LoginPageObjects lpage = PageFactory.initElements(driver, LoginPageObjects.class);
lpage.click_fb_button();
Thread.sleep(5000);

}


}

如果我在这两种方法中分别创建对象,测试运行良好。当在 @BeforeTest 中声明时它不起作用。如何减少该语句的重用?

最佳答案

为了访问 LoginPageObjects 实例,您必须将其创建为类变量。类中的所有方法都可以访问它。

然后,在@BeforeTest注解中初始化该变量。

public class UnderTest extends BaseClass {
private LoginPageObjects lpage;

@BeforeTest
public void setUp() throws Exception {
lpage = PageFactory.initElements(driver, LoginPageObjects.class);
}

@Test(description = "Email login")
public void f()
{
Reporter.log("===dude===", true);
lpage.click_signin_link();
lpage.enter_uid("test@gmail.com");
lpage.click_submit();
}

@Test(description = "fb login")
public void fe() throws InterruptedException
{
Reporter.log("===dude===", true);
lpage.click_fb_button();
Thread.sleep(5000);

}

关于java - 如何创建类的公共(public)对象以在 TestNG 类的所有方法中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48664162/

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