私は現在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')
})
それで、私のために少なくとも私のために、私のさらなる問題はトークン、ログインなどの内部のものでしたが、!
プラグインフォルダ内のインデックスがchrome issueを迂回するように正しいかについて投稿したコード。それがあなたがそれを修正したいのですが!
私はまったく同じ問題を抱えていました、Durkomatkoをお勧めしているようにすることをお勧めします。 ドキュメンテーションChromeWebSecurity
しかし、私はIFrameのlocalhostを指すリンクに関する別の問題を見つけました。 IFrameでリンクを使用したい場合は、これをおすすめします。
cy.get('iframe').then((iframe) => {
const body = iframe.contents().find('body');
cy.wrap(body).find('a').click();
});
_