爲什麼不TestNG的套件XML文件,而不是試圖管理這一在搖籃建立文件級管理呢?
您可以在TestNG套件xml文件中使用BeanShell,該文件能夠將組名稱讀爲JVM參數,然後解析並相應地運行測試?
下面是一個接受組名作爲JVM參數的例子,然後動態地讓測試運行,當且僅當它們屬於傳遞的組名。您可以通過添加拆分邏輯來增強此功能,然後利用相同的邏輯邏輯containsKey()
。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
<test name="Test">
<method-selectors>
<method-selector>
<script language="beanshell">
<![CDATA[whatGroup = System.getProperty("groups");
groups.containsKey(whatGroup);
]]>
</script>
</method-selector>
</method-selectors>
<classes>
<class name="organized.chaos.GroupsPlayGround" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
欲瞭解更多信息,你可以參考以下幾點:
我們保存我們的DB數據並設置羣組。我們通過命令行動態傳遞組(** gradlew test -Dgroups = group **)。我們沒有使用測試腳本/ testng.xml中提到的組 – nurav
@nurav - 我在響應中提到的xml沒有組部分。它使用beanshell方法選擇器根據通過JVM參數傳入的組動態決定要包含的組。所以我不太明白'測試腳本/ testng.xml中提到的使用組'的含義。 Btw ..當你在當前的gradle設置中通過JVM參數傳入多個組時,你面臨什麼問題。謹慎闡述? –