2016-10-31 1 views
0

1)Ranorexの "manage datasource"機能を使用してデータを駆動すると、すべてがtrueの場合、プログラムは成功を返します。しかし、私は偽の場合、すぐにプログラムを停止し、エラーを返す検証に失敗しました。 例:3件あり、1件が偽です。出力は1x失敗し、2xはブロックされます。 したがって、私は偽の場合を含めてすべてのケースを実行したいと思います。大文字小文字の区別はありません。 Validate.Fail()を呼び出すためにcheck変数を使用しようとしましたが、依然としてそうではありません。そして、私はExcelにC#による通常の接続を使用したくありません。Ranorexで駆動される自動テストデータ、検証の次のケースはFalseを返します。

void ITestModule.Run(){ 
Host.Local.RunApplication("C:\\Users\\FSU1.TEST\\Downloads\\Calculator.exe", "", "C:\\Users\\FSU1.TEST\\Downloads", false); 

     //run test Calculator 
     Button btnX = "/form[@controlname='Calculator']/button[@controlname='Button"+_btn1+"']"; 
     btnX.Click(); 
     MyRepo.Calculator.ButtonTimes.Click(); 
     Button btnY = "/form[@controlname='Calculator']/button[@controlname='Button"+_btn2+"']"; 
     btnY.Click(); 
     MyRepo.Calculator.ButtonEqual.Click(); 

     //set result 
     Text text = "/form[@controlname='Calculator']/?/?/text[@accessiblerole='Text']"; 

     //Validate result 
     Validate.AreEqual(text.TextValue, value, "True"); 

     MyRepo.Calculator.ButtonClear.Click(); 
     MyRepo.Calculator.Close.Click(); 
} 

そしてここ data binding image

データバインディングし、別の問題である: 2)私は、結果のテストを書くために、列「結果」を持っています。バインディングを使ってそれを書くことはできますか?

おかげ サルゴン

+0

は、私が聞いてもいいですか?私は、ユーザコードを使用してフロー実行制御(決定)のみを行うことを推奨します。シーケンスが線形である場合、単純な記録を使用することが好ましい。あなたのテストは、最終的には維持しやすくなります。 – Sup3rHugh

答えて

1

私が理解から、あなたの問題はValidate.AreEqualが例外をスローし、(したがって、次の反復を遮断する)テストの実行を停止するという事実に依存しています。最初の障害発生後に実行を継続するためにあなたのテストのために

にテストスイートのテストケースのエラー動作を設定するには、エラー時に反復を続行します。

これで、検証後にクリーンアップがまだ実行されているということは修正されません(テストが失敗した場合は実行されません)。クリーンアップを行う別の録画を作成する必要があります(ボタンクリア、アプリクローズアクション)。この新しい録音は、テストケースのTeardownセクションの最初のセクションの後に追加します。これにより、テスト結果に関係なくクリーンアップが実行されます。

これは正しい方向にあなたを送ります。

最後に、テストの前に実行され、セットアップセクションに配置された別の録画でアプリを起動することをおすすめします。どのようRanorexテストスイートの動作の詳細については

、次の資料を参照してください:ユーザーコード内のすべての記録を行う理由 Lesson 4 Ranorex Test Suite

関連する問題