現在、キュウリ - 分度器 - フレームワークとJavascriptで分度器5.1.0を使用しています。キュウリのシナリオ例の同じページを使用
機能ファイルに次のシナリオの概要を使用して:
Feature: As an online customer
I should be able to validate the Benefits Page and links on it
Background:
Given I am on the "Benefits Page"
@regression @fixup
Scenario Outline: validation of the MyPage links
When I click on the "<link>" link
Then a new tab should be opened
Then I should be directed to the "<URL>" in new window
Examples:
|link |URL |
|Benefit (PDF) |/guide-to-benefit.pdf |
|Pro Benefit (PDF) |/professional-benefit.pdf |
|Signature Benefit (PDF) |/signature-guide-to-benefits-revised.pdf |
|Business Benefit (PDF) |/business-benefits.pdf |
とページファイルは、次のとおりです。
var Benefits_Guide_Page = function (PageUrl) {
this.visit = function (PageUrl) {
browser.manage().deleteAllCookies();
browser.get(PageUrl);
};
this.get_element = function (element_name) {
switch (element_name) {
//Links Navigates to different window
case "Benefit (PDF)":
case "Pro Benefit (PDF)":
case "Signature Benefit (PDF)":
case "Business Benefit (PDF)":
return element(by.linkText(element_name));
break;
... // continue element checks
各シナリオには、タブを開く新しいタブに切り替え、URLを検証新しいタブを閉じて元のタブに切り替え、は元のページをリロードし、次のの例であるをリロードします。
私はthis Android Q&Aに何か答えがあると思いますが、それは同じ問題だとは思いません。
基本的に、各例でページをリロードする必要はありません。大規模なテストとの関連で無駄で時間がかかります。
私は同じウィンドウでリンクの読み込みをチェックしている他のシナリオがあります。私はちょうど "戻る"と次のリンクまたは同じページのアンカーを確認し、再度ページをロードする必要があります。
ヒント?
新しいタブが新しいタブで開く場合 - 元のページを再読み込みする理由は何ですか?新しいタブのために元のページに影響はありますか?元のページをリロードしない場合...同じタブで新しいページを開く場合 - browser.navigate()。back()を試して元のページに戻ってください... – Grasshopper
私はあなたは最初にページに行くと思いますか?あなたはそれをifステートメントでラップすることができます。私がこのページにまだいない場合は、そのページを入手してください。これは、それが一度だけ、または失敗した場合に意味します。 –
@Grasshopperと@ kyle-fairnsは、いくつかの文脈を追加しました。 _元のページをリロードする理由は何ですか?** **私が知ることはできません。それはページ定義ファイルの結果であるように見えますが、フィーチャーファイルも同様に整理されているかどうかはわかりません。それぞれの_example_がページ定義を呼び出すと、スタックされている可能性があります。 _note_私は混乱を継承しました。このページでは、約束を使用していなかったので、実行ごとに5秒の「スリープ」を入れて待機するため、2分かかりました。それを30秒に減らしました。私はリロードの問題を解決できるなら、私はもっと剃ることができると思う。 – javafueled