运行Webdriver Junit浏览器特定的测试用例

时间:2013-07-25 23:04:14

标签: java webdriver junit4

我有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?

1 个答案:

答案 0 :(得分:0)

您可以使用自己的跑步者轻松地使用JUnit。事实上,在Selenium WebDriver测试中有一个类似的工作代码 - 它只是倒退。 Selenium的人想跳过特定浏览器的一些测试,所以他们引入了一个自定义@Ignore注释。

查看JUnit4TestBaseSeleniumTestRunner,最后TestIgnorance

您可以使用他们的想法做出相反的反应,只使用所需的驱动程序运行测试。但是,我认为您需要自己编写,因为我不知道有任何好的解决方案。