Maven + TestNG + Seleniumでテストフレームワークを実装しようとしています。
TestNGに[〜#〜] all [〜#〜]テストを実行するように指示するsuite.xmlをどのように宣言しますか?私はこれらすべてを役に立たないように試みました:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
<test name="all">
<classes>
<class name="*" />
</classes>
</test>
</suite>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
<test name="all">
<groups>
<run>
<include name="*" />
<exclude name="disabled" />
</run>
</groups>
</test>
</suite>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
<test name="all">
<packages>
<package name="*" />
</packages>
</test>
</suite>
私は、さまざまなパラメーターを持つさまざまなスイート構成を指定する必要がありますが、すべてがすべてのテストを実行しています。掘り下げることができるすべての例では、各クラスまたはパッケージを明示的にリストしているため、私にとっては意味がありません。
。*を使用して、私の知る限りすべてに一致させる必要があります。
testng.xml
ファイルを次のように宣言することで、パッケージ内にすべてのテストクラスを追加できます。
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="sampleTest" parallel="false">
<test name="sample-Test" preserve-order="true" verbose="2">
<packages>
<package name="org.sample.something.*"/>
</packages>
</test>
</suite>
検索オプションとしてテストに合格する場所はありません。そのようなことをしたい場合は、コードにスイートを実装し、そこに検索シナリオを実装する必要があります。
3つのレベルのパッケージがあり、テストクラスがcom.abc.xyz
パッケージ。
<package name="*" /> </packages> , doesn't work.
<package name="com.*.*" /> doesn't work.
<package name="com.abc.*" /> does work.
AFAIK testngには、あなたが探しているような正規表現のオプションはありません。
しかし、私はあなたが望むものを2つの方法で得ることができると思います:
Testngプラグインを使用してEclipseで作業している場合。すべてのパッケージが定義されているテストフォルダーを選択するだけです。 mavenでは、ほとんどの場合、src/test/Javaフォルダーです。右クリックして、「run as testng」と言います。これにより、すべてのクラスがリストされた一時的なcustomsuite.xmlが作成されます。 xmlをデフォルトのxmlとして保存できます。
Mavenのsurefireプラグインには、 includes を指定してからパターンを指定するオプションがあります。 */。Javaに設定してみてください。Javaはすべてのテストケースをピックアップすると思います(ただし、試していません)。その後、テストをmvn testとして呼び出すことができます。
以下は、TestNgの3レベルパッケージから動作します
<package name="orgPkg.namePkg.appnamePkg.applicationPkg.functionalityPkg"/></packages>