1

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

1 回答 1

0

您可以使用 JUnit 和您自己的跑步者轻松地做到这一点。事实上,Selenium WebDriver 测试中也有类似的工作代码——它只是倒退。Selenium 的人想要跳过一些针对特定浏览器的测试,所以他们引入了自定义@Ignore注解。

看看JUnit4TestBaseSeleniumTestRunner终于TestIgnorance

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

于 2013-07-26T00:12:39.900 回答