Selenium Java-如何从外部类外包@Config和调用测试?

Selenium Java-如何从外部类外包@Config和调用测试?,java,class,selenium,conductor-framework,Java,Class,Selenium,Conductor Framework,我相信,有经验的Java开发人员可以很快回答这个问题。但由于我对Java不太熟悉,我不知道如何在Java中找到Selenium的@Config部分。如果我有一个配置文件或类,一方面可以放置数据(浏览器、网站等),另一方面可以放置测试文件,那将是最佳选择。 下面是一个测试文件的示例: package com.example_test.selenium; import io.ddavison.conductor.Browser; import io.ddavison.conductor.Confi

我相信,有经验的Java开发人员可以很快回答这个问题。但由于我对Java不太熟悉,我不知道如何在Java中找到Selenium的@Config部分。如果我有一个配置文件或类,一方面可以放置数据(浏览器、网站等),另一方面可以放置测试文件,那将是最佳选择。
下面是一个测试文件的示例:

package com.example_test.selenium;

import io.ddavison.conductor.Browser;
import io.ddavison.conductor.Config;
import io.ddavison.conductor.Locomotive;
import org.junit.Test;

@Config(
        browser = Browser.CHROME,
        url     = "http://example.com"
)

public class test_a_Home extends Locomotive {
    @Test
    public void testifExists() {
        validatePresent(site_a_Home.EL_NEWCUSTOMERBANNER);
    }
}
现在我想要一个单独的文件tests.java,在这里我可以调用“test\u a\u Home”函数。如果我试着用它

package com.example_test.selenium;

public class tests {
    test_a_Home test = new test_a_Home();

    test.testifExists();

}
我收到错误,无法解决“TestiExists()”。
我尝试将
public void testifExists()
更改为
public int testifExists()
,并尝试使用
int res=test.testifExists()调用它,但这也不起作用,因为我收到错误
java.lang.Exception:testNewCustomersBannerExists()方法应为void


如果有人能帮助我,我会很高兴的。如果您需要更多信息,请随时提及。谢谢。

如果您希望您的设计是这样的,那么您需要这样组织您的测试:

public class BasePage {
    public Locomotive test;
    public BasePage(Locomotive baseTest) {
        test = baseTest;
    }
}

public class test_a_Home extends BasePage {
    public test_a_Home(Locomotive baseTest) {
        super(baseTest);
    }

    public void testifExists() {
        test.validatePresent(site_a_Home.EL_NEWCUSTOMERBANNER);
    }
}
那么您的测试类,我建议您也创建一个基类:

@Config(
    browser = Browser.CHROME,
    url     = "http://example.com"
)
public class BaseTest extends Locomotive {}
然后你的测试课:

public class tests extends BaseTest {
    test_a_Home test = new test_a_Home(this);

    @Test
    public void testHomePage() {
        test.testIfExists();
    }
}
您还声明:

我不知道如何在Java中导出Selenium的@Config部分


请确保您知道,使用Conductor会将您从Selenium API中抽象出来。。它只是把它包起来
@Config
不属于Selenium,它属于导体。

很高兴听到这个消息!点击绿色复选标记,将这个答案标记为“已接受”,如果你觉得我应得这个答案,请继续投票