web-dev-qa-db-ja.com

サイプレススローセキュリティエラー

私は現在Chrome 74で実行されていて、私のアプリのスタイルガイドをテストするにはサイプレスを使用しようとしています。サイプレスをロードすると、このエラーが発生します。

SecurityError: Blocked a frame with Origin "http://localhost:3000" from accessing a cross-Origin frame.

これに解決策があるかどうか教えてください。

私はこれと一緒にフォローしようとしました: https://github.com/cypress-io/cypress/issues/1951

しかし、何も私のために変更/働いていません。 :

私のコードは以下に示されています:cypress/plugins/index.js

module.exports = (on, config) => {
    on('before:browser:launch', (browser = {}, args) => {
        // browser will look something like this
        // {
        //   name: 'chrome',
        //   displayName: 'Chrome',
        //   version: '63.0.3239.108',
        //   path: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
        //   majorVersion: '63'
        // }

        if (browser.name === 'chrome') {
            args.Push('--disable-site-isolation-trials');

            return args
        }

        if (browser.name === 'electron') {
            args['fullscreen'] = true

            // whatever you return here becomes the new args
            return args
        }
    })
}

私のcypress/support/index.jsでは

これは、すべてのテストでCy.Visitを書き込む必要があることから自分自身を保存するために実行するために、私が実行するために私が実行する前にサイトをロードします。

beforeEach(() =>{
    cy.visit('http://localhost:3000/style-guide')
})
12
HyeEun

それで、私のために少なくとも私のために、私のさらなる問題はトークン、ログインなどの内部のものでしたが、!

プラグインフォルダ内のインデックスがchrome issueを迂回するように正しいかについて投稿したコード。それがあなたがそれを修正したいのですが!

2
HyeEun

私はまったく同じ問題を抱えていました、Durkomatkoをお勧めしているようにすることをお勧めします。 ドキュメンテーションChromeWebSecurity

しかし、私はIFrameのlocalhostを指すリンクに関する別の問題を見つけました。 IFrameでリンクを使用したい場合は、これをおすすめします。

cy.get('iframe').then((iframe) => {
  const body = iframe.contents().find('body');
  cy.wrap(body).find('a').click();
}); _
0
Jboucly