試圖獲得問題中的所有好關鍵字。基本上我有一些Selenium測試,使用JUnit4/Maven和創建一個自定義的註釋標記每個測試的一些基本信息:是否有可能運行(通過maven)選擇基於自定義註釋的junit硒測試
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface TestInfo {
public enum Priority { LOW, MEDIUM, HIGH }
Priority priority() default Priority.LOW;
String useCase() default "";
String createdBy() default "unknown";
String lastModified() default "unknown";
}
所以每個測試看起來是這樣的:
@Test
@TestInfo(priority = TestInfo.Priority.HIGH,
createdBy = "MivaScott",
lastModified = "2016/11/29",
useCase = "Log into website with valid credentials")
public void loginValidCredentials() throws Exception {
Properties user = Data.getUserCredentials("default");
loginPage.setLogin(user.getProperty("username"));
loginPage.setPassword(user.getProperty("password"));
loginPage.clickSignInButtonAndWait();
Verify.titleContains(MyConstants.TITLE_DASHBOARD, "");
}
我我希望的是,我可以在命令中指定只運行標記爲高優先級的測試。所以東西的效果:
mvn -DTestInfo.priority=HIGH test
這是可能的,或類似的東西?
是否使用junit4?如果是這樣,你應該看看類別。基於開箱即用的註釋解決您運行測試的需求。 https://github.com/junit-team/junit4/wiki/categories – Grasshopper
@Grasshopper,我看到類別在我尋找答案(還沒有研究他們如何工作呢)。我真的希望不必添加另一個註釋/要記住的東西。我正在爲非編碼器開發這個框架,所以移動較少的部分越好。但是,是的,這是後備選項。 – MivaScott