私のシナリオ
- 私のアプリケーションにログインします。
- データ プロバイダーが提供するページに移動します
- このページでコントロール テスト ケースを実行する
- データ プロバイダーからのすべてのページがテストされるまで、手順 2 と 3 を続けます。
私の流れ :
- ページに移動
- 私は約 40 の奇妙なコントロール テスト クラスを持っています。彼らの働き:実行時にコントロールを取得し(コンボボックス、テキストボックスなどの各コントロールテストクラス)、現在のページでこれらのコントロールを1つずつテストしてから、次のページに移動します。
私のアプローチ:
- 別のページに移動するための @Test を作成しました。データプロバイダーからの異なるページを受け入れます。
- そのテスト内で、他のコントロール テスト クラスを呼び出しています。
私の問題:
- ナビゲーション テストのテスト結果は、testNG レポートでしか確認できません。これらすべてのページに対して実行された他のテスト結果はどうなりますか? これらのテスト結果はどこに記録されますか。
コード スニペット: ここで @Test testWrapper() は、ナビゲーション データ プロバイダーを受け入れるナビゲーション テストです。
public class WrapperTest
{
@Test
public void testWrapper()
{
//Approach no. 1
/*TestNG test=new TestNG();
test.setTestClasses(new Class[]{test1.class,test2.class});
test.run();*/
//Approach no. 2
XmlSuite xmlSuite=new XmlSuite();
List<XmlSuite> xmlSuites=new ArrayList<>();
XmlTest t1xmlTest=new XmlTest(xmlSuite);
XmlTest t2xmlTest=new XmlTest(xmlSuite);
XmlClass t1xmlClass=new XmlClass(test1.class);
XmlClass t2xmlClass=new XmlClass(test2.class);
List<XmlClass> test1ClassList=new ArrayList<>();
List<XmlClass> test2ClassList=new ArrayList<>();
test1ClassList.add(t1xmlClass);
test2ClassList.add(t2xmlClass);
t1xmlTest.setXmlClasses(test1ClassList);
t2xmlTest.setXmlClasses(test2ClassList);
xmlSuites.add(xmlSuite);
TestNG test=new TestNG();
test.setXmlSuites(xmlSuites);
test.run();
}
}
制御テストのスニペット:
public class test1
{
@Test
public void f1()
{
System.out.println("running test1.f1");
assert true;
}
@Test
public void f2()
{
System.out.println("running test1.f2");
assert true;
}
}
public class test2
{
@Test
public void f1()
{
System.out.println("runnin test2.f1");
assert true;
}
@Test
public void f2()
{
System.out.println("runnin test2.f2");
assert true;
}
}
test1
クラスとtest2
クラスが私のコントロールクラスであると仮定します。どこが間違っていますか。または、目的のテスト結果を得るために実装する必要があるものは他にありますか。
[注: 私のテストは期待どおりに実行されています。これは、レポート部分が正しくないためです]。