ヒノキのモーダルダイアログにアクセスできません

Taimoor Pasha

サイプレスを使用してモーダルダイアログにアクセスしようとしています。通常は、ベースURLにアクセスすると、5〜6秒後に、ユーザーが自分でログインする必要があるモーダルダイアログに移動します。

ダイアログのクラス名は次のとおりです。

<div class = "modal-dialog">

そして私はメールアドレスフィールドにアクセスしようとしています:

ページのスクリーンショットを確認してください

認証ダイアログとdevtools出力のスクリーンショット

次のコードを使用している間:

describe('Login', function(){
    it('Login Successfully', function(){
        const urlRedirects = [];
        cy.visit('https://app.staging.showcare.io/product-showcase')
        cy.get('.modal-dialog').should('be.visible').then(($dialog)=>{
      cy.wrap($dialog).find('#signInFormUsername').click()
      });
        })
        
    })

次のエラーが発生します:

Cypress detected a cross origin error happened on page load:

  > Blocked a frame with origin "https://app.staging.showcare.io" from accessing a cross-origin frame.

Before the page load, you were bound to the origin policy:

> https://showcare.io

A cross origin error happens when your application navigates to a new URL which does not match the origin policy above.

A new URL does not match the origin policy if the 'protocol', 'port' (if specified), and/or 'host' (unless of the same superdomain) are different.

Cypress does not allow you to navigate to a different origin URL within a single test.

You may need to restructure some of your test code to avoid this problem.

Alternatively you can also disable Chrome Web Security in Chromium-based browsers which will turn off this restriction by setting { chromeWebSecurity: false } in cypress.json.

誰か助けてくれませんか?

活気ある

このテストは機能します

cy.visit('https://app.staging.showcare.io/product-showcase/login')
cy.get('.modal-dialog').should('be.visible')
cy.get('#signInFormUsername', { timeout: 10000 }).eq(0)
  .click({ force: true })

2つあるという警告がある#signInFormUsernameので.eq(0)、正しいものをクリックするように追加します。

また、コントロールにはCSSを持つ親があるdisplay: noneため、{ force: true }で必要になり.click()ます。

設定後、サイプレステストランナーを再起動する必要がありますのでご注意ください"chromeWebSecurity": false


完全なログインシーケンス

cy.visit('https://app.staging.showcare.io/product-showcase/login')

cy.get('.modal-dialog').should('be.visible')

cy.get('#signInFormUsername', { timeout: 10000 }).eq(0)
  .type('userName', { force: true })

cy.get('#signInFormPassword').eq(0)
  .type('password', { force: true })

cy.get('[name="signInSubmitButton"]').eq(0)
  .click({ force: true })

ログインフォームのページURLは(冒頭部分)

https://vep-staging.auth...amazoncognito.com/login?...&redirect_uri=https%3A%2F%2Fapp.staging.showcare.io%2Fproduct-showcase&...

そして、そのredirect_uriパラメータは、https://app.staging.showcare.io/product-showcaseログインが成功した後にあなたをに送り返すはずです

そうでない場合は、でログイン部分を実行してbeforeEach()から、テストのメインページにアクセスできますログイントークンは、ログイン手順で保存する必要があります。

また、コードをaでラップcy.session()して、ログインを1回だけ実行し、すべてのテストのトークンを保持します(ユーザーがログインしてセッションでさまざまなことを行う場合と同じです。

完全なテスト、

Cypress.config('experimentalSessionSupport', true)  // set this flag

beforeEach(() => {
  cy.session('mySession', () => {

    // preserve the login across all tests

    cy.visit('https://app.staging.showcare.io/product-showcase/login')
    cy.get('.modal-dialog').should('be.visible')
    cy.get('#signInFormUsername', { timeout: 10000 }).eq(0)
  .    type('userName', { force: true })
    cy.get('#signInFormPassword').eq(0)
      .type('password', { force: true })
    cy.get('[name="signInSubmitButton"]').eq(0)
      .click({ force: true })
  })
})

it('tests the app main page after login', () => {

  // should be logged in here, so visit main page
  cy.visit('https://app.staging.showcare.io/product-showcase') 

  // test the main page, e.g 
  cy.get('nav').contains('Homepage')
})

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

SeleniumWebdriverのブートストラップモーダルダイアログにアクセスできません

Primengダイアログにアクセスできません

Selenium webdriverjavaのUIダイアログにアクセスできません

Qt5のダイアログボックスのメンバーにアクセスできません

SeleniumPythonを使用してモーダルダイアログのテキストフィールドをクリックできません

PrimeNGモーダルp-ダイアログはスクロールできません

Teststack / Whiteを使用してモーダル/ダイアログ内の編集フィールドにテキストを入力できません

AngularJSモーダルダイアログポップアップをクリックできません

ASのドローアブルフォルダの下にある画像にアクセスできません

アセットサブフォルダー内のファイルにアクセスできません

TestFx-ログインダイアログにアクセスできません

ドロップダウンリスト付きのモーダルダイアログは、却下後すぐにフェードアウトしません

GitHubフォルダーにアクセスできません

ファイルのアップロード時にパスキーにアクセスできません

React-Nodeのアップロードフォルダから画像にアクセスできません

Reactはパブリックフォルダーの下のテンソルフローモデルにアクセスできません

AEMのダイアログボックスに画像を表示できません

Javaのリソースフォルダにアクセスできません

Jenkinsプラグインはノード上のファイルにアクセスできません

モーダル ダイアログ ブートストラップを更新_表示_削除できません

jQuery確認ダイアログモーダル-フォームを正常に送信できません

Google Chromeでは、NVDA(アクセシビリティスクリーンリーダー)がブートストラップモーダルダイアログでテキストを読み上げません

ubuntuのファイルまたはフォルダーにアクセスできません

フラスコ:静的フォルダー内のファイルにアクセスできません(404)

リソースフォルダ内のファイルにアクセスできません

CentOsの1つのアダプターを使用してローカルホストとインターネットにアクセスできません

サブフォルダー内のすべてのファイルにアクセスできません

ASP.NETMVCのViewフォルダー内のJavaScriptファイルにアクセスできません

春のセキュリティ-ログインページにアクセスできません

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    CSSのみを使用して三角形のアニメーションを作成する方法

  3. 3

    ZScalerと証明書の問題により、Dockerを使用できません

  4. 4

    ドロップダウンリストで選択したアイテムのQComboBoxスタイル

  5. 5

    別のホストからTomcat Managerアプリにアクセスする

  6. 6

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  7. 7

    Windows 10でのUSB入力デバイスの挿入/取り外しの検出

  8. 8

    Python / SciPyのピーク検出アルゴリズム

  9. 9

    MLでのデータ前処理の背後にある直感

  10. 10

    useRefに反応してコンポーネントをスクロールして表示する

  11. 11

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  12. 12

    パンダは異なる名前の列に追加します

  13. 13

    PictureBoxで画像のブレンドを無効にする

  14. 14

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  15. 15

    Pythonを使用して、リストからデータを読み取り、特定の値をElasticsearchにインデックス付けするにはどうすればよいですか?

  16. 16

    LinuxでPySide2(Qt for Python)をインストールするQt Designerはどこにありますか?

  17. 17

    Material-UIでTextFieldエラーの色を条件付きでオーバーライドする方法

  18. 18

    goormIDEは、ターミナルがロードするデフォルトプロジェクトを変更します

  19. 19

    MatplotlibまたはSeabornを使用して、グループ化されたデータから複数のプロットを生成するにはどうすればよいですか?

  20. 20

    Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

  21. 21

    Flutterにファイルピッカープラグインを追加するにはどうすればよいですか?

ホットタグ

アーカイブ