2016-03-30 11 views
-1

各テストケース内で複数のシナリオを持つ複数のテストケースを自動化しようとしている状況に陥っています。私はforループを使ってみましたが、whileループ、do whileループは成功しませんでした。 私の利用している仕様は以下の通りです:Selenium Webdriverを使用して各テストケース内に複数のシナリオを持つテストケースを自動化する方法

ツール:Selenium WebDriver 2、 言語:Java。

つまり、現実世界での私の必要性の完全な複製である次の機能を自動化しようとしています。私はどんな種類の助けや示唆もありがとうと思います。ここで

おかげ

は、私が何を言っているかである: Here is the snapshot of the test case structure

+0

なぜ数学をテストしていますか?私たちは今それを得ていると思う。 – Zymus

+0

期待した結果のほとんどが間違っています。 – chrylis

+0

@Zymus、私はこれらの簡単な数学計算に基づいて大きな発明を熟読しているので、数学をテストしています。やがてあなたは他の人のようにある日にそこに着くでしょう。 –

答えて

0

ユーリカ!私はこれを考え出した。そんな静かなシンプルなロジックに縛られているとは思えないほどシンプルでした。あなたがしなければならないのは、forループをmain forループに使用することです。そのためには、多くの変数を宣言する必要があります。私はそれが良い習慣ではないが、確かに学ぶための良い習慣であることを知っている。

私の問題のいずれかを見てくれてありがとうと、私の問題を解決しようとした人々に叫ぶ。

ありがとう、 TJ

1

あなたはパラメータ化テストを希望しているように見えます。すべての標準テストフレームワーク(JUnitとTestNGを含む)は、パラメータ化されたテストをサポートしており、SpockもGebと非常によく統合されています(makes them particularly easy)。あなたはゲブを使用した場合は、あなたのテストは(あなたがJavaScriptベースの単一ページの電卓をテストしている前提)次のようになります。

@Unroll // lists each combination separately in test results 
def "#num1 #operator #num2 == #expected"(int num1, String operator, int num2, int expected) { 
    when: 
     to CalculatorPage 
     form.num1 = num1 
     form.num2 = num2 
     form.operatorButton(operator).click() 

    then: 
     expected == output as int 

    where: 
     num1 | operator | num2 || expected 
     6 | '+'  | 6 || 12 
     8 | '/'  | 2 || 1 
     9 | '*'  | 5 || 45 
} 
+0

ちょっと@chrylis、私を助けてくれてありがとう。 TestNGまたはJUnitの例は、私がGebにまだ慣れていないので素晴らしいものになります。 –

+0

@TJDardi https://github.com/junit-team/junit4/wiki/Parameterized-tests – Zymus

+0

@Zymus;リンクを提供してくれてありがとう。 –

関連する問題