我有selenium.properties,其中我指定了测试配置(baseURL,浏览器等)。这是由ant脚本用来启动webdriver junit测试用例。现在我有几个junit测试方法,我想只在Firefox上运行。我想知道是否有一种方法可以使用JUnit注释完成此操作?我可以创建自定义注释吗?
my setup
public class TestBase{
public static String baseURL = null;
public static String browser = null;
@BeforeClass
public static void webdriverSetUp() {
try {
FileInputStream fn = new FileInputStream(SELENIUM_PROP_FILE);
Properties selenium_properties = new Properties();
selenium_properties.load(fn);
baseURL = selenium_properties.getProperty("baseUrl");
browser = selenium_properties.getProperty("browser");
} catch (Exception e) {
e.printStackTrace();
}
if(browserg.equalsIgnoreCase("firefox")){
File profileDirectory = new File("./profile");
FirefoxProfile profile = new FirefoxProfile(profileDirectory);
driver = new FirefoxDriver(profile);
}
}
//Test Class
public class TestCase1 extends TestBase{
@Test //run this case only if browser = firefox
public void test1(){
}
@Test //do not run this case if browser = chrome
public void test2(){
}
}
any pointers?
答案 0 :(得分:0)
您可以使用自己的跑步者轻松地使用JUnit。事实上,在Selenium WebDriver测试中有一个类似的工作代码 - 它只是倒退。 Selenium的人想跳过特定浏览器的一些测试,所以他们引入了一个自定义@Ignore
注释。
查看JUnit4TestBase
,SeleniumTestRunner
,最后TestIgnorance
。
您可以使用他们的想法做出相反的反应,只使用所需的驱动程序运行测试。但是,我认为您需要自己编写,因为我不知道有任何好的解决方案。