繁体   English   中英

如何创建一个类的通用对象以在TestNG类的所有方法中使用?

[英]How to create common object of a class to use in all methods Of TestNG class?

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实例,您必须将其创建为class variable 该类中的所有方法都可以使用它。

然后,在@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);

}

尝试以下代码...

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

{

   @Before
   public void setUp() throws Exception {
     LoginPageObjects 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);

    }


}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM