2016-03-23 13 views
2

これは簡単だと思っていましたが、数時間かけて検索して、無駄な方法を試してみました。私は分度器にボタンがあるときだけクリックするように指示する必要があります。基本的に私のテストでは、特定の値がページに存在するかどうかを確認するためにそれを水にする。ページは2つの状態のうちの1つになることができます。自動モードには自分の値が含まれています。このテストでは無関係な値が含まれています。そのデザインモードでは、最初に自動モードをクリックする必要があります。このモードでは、続行して自動モードに切り替えるかどうかを尋ねるプロンプトが表示されます。このプロンプトには、確認が必要な続行ボタンが含まれています。ページがすでに自動モードになっている場合は、このチェックを実行する必要はありません。天気を検証するか、自分の値が存在しないかどうかを確認できます。基本的に私はこれを試しました:分度器のクリック要素が存在する場合のみ

if (continueButton.isDisplayed()) { 
continueButton.click(); 
} 

「ロケータを使用している要素が見つかりません:」というエラーが発生します。私はisElementPresentを使用するなどいくつかの異なる方法を試しましたが、期待される条件オプションのいくつかは多かれ少なかれ同じ結果を得ました。このシナリオでは、ボタンが存在し、それがクリックされているかどうかを確認し、存在しない場合はテストを続けます。

答えて

0

約束を使ってこれを達成できます。

continueButton.isDisplayed().then(function (isDisplayed) { 
     if(isDisplayed){ 
     continueButton.click(); 
     } 
    }); 
+0

おかげKCaradonna、後期応答のため申し訳ありません。いくつかの微調整で、これは私のために働いた。 –

1

browser.wait()elementToBeClickable Expected Condition役立つかもしれない、まさにされています

var EC = protractor.ExpectedConditions; 
browser.wait(EC.elementToBeClickable(continueButton), 5000); 

continueButton.click(); 
+0

こんにちはアレクセ、私はこれを試してみましたが、私が期待した通りに働いていませんでした。テストはボタンに遭遇しなかったときでも停止します。 KCaradonnaのソリューションは私のために働いた。返信いただきありがとうございます。 –

関連する問題