1

環境パラメーターが異なる 2 つの環境で同じテスト メソッドを実行したいと考えています。

単純に、テスト実行で各テストメソッドを異なるシステムパラメーターで複製したいだけです。

IMethodInterceptor を使用してこれを実装できますか。または、TestNg の拡張機能を使用します。

ありがとうございました。

4

2 に答える 2

1

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>
于 2012-10-10T20:59:50.570 に答える
0

テストの設計方法に大きく依存します。
システム パラメータが現在のテストで初期化されており、システム セットアップもテストに含まれている場合、実行前に行うことはすべて、テストの内容に戻されます。

それらをテストのグローバル値として持っている場合は、リスナーを使用して、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>

それが役に立てば幸い..

于 2012-10-11T12:52:26.763 に答える