環境パラメーターが異なる 2 つの環境で同じテスト メソッドを実行したいと考えています。
単純に、テスト実行で各テストメソッドを異なるシステムパラメーターで複製したいだけです。
IMethodInterceptor を使用してこれを実装できますか。または、TestNg の拡張機能を使用します。
ありがとうございました。
環境パラメーターが異なる 2 つの環境で同じテスト メソッドを実行したいと考えています。
単純に、テスト実行で各テストメソッドを異なるシステムパラメーターで複製したいだけです。
IMethodInterceptor を使用してこれを実装できますか。または、TestNg の拡張機能を使用します。
ありがとうございました。
TestNG @Parameterを使用できます...
Java コード:
@Parameter({"parameterName"})
@Test
public void testMain(String parameterName) {}
TestNG XML スイート:
<suite name="Blah">
<test name="1">
<parameter name="parameterName" value="var1" />
...
</test>
<test name="2">
<parameter name="parameterName" value="var2" />
...
</test>
</suite>
テストの設計方法に大きく依存します。
システム パラメータが現在のテストで初期化されており、システム セットアップもテストに含まれている場合、実行前に行うことはすべて、テストの内容に戻されます。
それらをテストのグローバル値として持っている場合は、リスナーを使用して、testng xml のパラメーターに基づいて値を変更できます。パラメータはテストレベルにすることができ、sumtin のようにすることができます
<suite>
<test name="Sysconfig1">
<param name="sysparam1" value ="x"/>
<param name="sysparam2" value ="y"/>
<packages>
....
</test>
<test name="Sysconfig2">
<param name="sysparam1" value ="a"/>
<param name="sysparam2" value ="b"/>
<packages>
....
</test>
次に、onStart(ITestContext) of ITestListener and use sysproperty1 = context.getCurrentxmltest.gtparameter.get("sysparam1")
また、環境の初期化は、これらのリスナーの実装で行うことができます。実装したリスナーをxmlファイルの下に追加するだけです<listeners>
それが役に立てば幸い..