Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在TestNG中将一个类的方法用于另一个类_Java_Eclipse_Webdriver_Testng - Fatal编程技术网

Java 如何在TestNG中将一个类的方法用于另一个类

Java 如何在TestNG中将一个类的方法用于另一个类,java,eclipse,webdriver,testng,Java,Eclipse,Webdriver,Testng,我将webdriver和eclipse与testNG一起使用 我正在自动进行网络健康检查。我在web应用程序中有许多模块,如A、B、C等。 我为A创建了一个类,它也涵盖了它的所有子模块。同样,对于B和C,我有不同的类。我有一个类a的登录方法,我也需要B和C的登录方法,因为所有这些类都是独立的,我必须从scrtach为每个类编写代码 有没有办法在B和C中使用A中的Login()方法 我的方法是这样的 Class A { @Test(priority = 0, Descriptio

我将webdriver和eclipse与testNG一起使用

我正在自动进行网络健康检查。我在web应用程序中有许多模块,如A、B、C等。 我为A创建了一个类,它也涵盖了它的所有子模块。同样,对于B和C,我有不同的类。我有一个类a的登录方法,我也需要B和C的登录方法,因为所有这些类都是独立的,我必须从scrtach为每个类编写代码

有没有办法在B和C中使用A中的Login()方法

我的方法是这样的

  Class A
   {

   @Test(priority = 0, Description = "Login")

   Public void Login()
   {
     //some code
   }

谢谢。

不过,这个问题与Web驱动程序没有多大关系 您应该做的是,要在多个类上执行的操作是相同的,应该在包含常规操作的基类中抓取,并且该基类可以进一步扩展到其他子类,如A、B、C,并且所有这些都将与基类功能一起拥有

在一个基类中,您还可以在所有测试开始之前进行设置配置,并在测试完成后关闭驱动程序/流,即您的测试套件,因此您所做的每个测试套件都会发生这种情况

示例代码

class BaseTest{
    WebDriver driver;
    @BeforeSuite
    public void setupTest(){
        driver = new FirefoxDriver();
    }

    @AfterSuite
    public void finishTest(){
        driver.quit();
    }

    public void navigateToMenu(String menu){
        WebElement element = driver.findElement(By.xpath("//XPATH_TO_MENU_WHERE=" + menu));
        //Here menu is something will be replaced with navbar menu name, just an example of what you can do using BaseTest class
    }
}
希望这能让你对应该采取的方法有所了解