具体的には、ロゴがアプリのホームページに表示されることをテストしたいと思います。画像の検索に何を使用すればよいかわからないようです。
私は試した
it('has a logo', function () {
cy.visit('http://localhost:3000')
cy.get('img').should('contains' , 'My-Logo.png')
})
cy.getの代わりに、私も使用しようとしました
cy.contains('My-Logo.png')
しかし、それも失敗します。
どの要素を使用する必要があるか、またはgetを使用する必要があるかどうかはわかりませんでしたが、失敗します。 Webページのソースコードを見ると、ロゴがjavascript(nodeJS、vueJS、およびexpressJSアプリケーション)内に隠されています。アセットフォルダー内の画像名に画像ページがない場合でも、画像ページ。 My-Logo.d63b7f9.png。
私は自分で解決策を見つけました。
_cy.get('form').find('img').should('have.attr', 'src').should('include','My-Logo')
_
要素を調べたところ、_<img src...
_行が_<form>
_に埋め込まれていることがわかりました。 cy.get('form')
を実行して渡すことはできましたが、cy.get('img')
を渡して渡すことはできませんでした。それで私はそれらを一緒に連鎖させ、それは通過しました。なぜ2番目のshouldステートメントを単に追加できないのかはわかりませんが、実行しようとしただけでは失敗しました。
_cy.get('form').find('img').should('include','My-Logo')
_
理由は完全にはわかりませんが、最初の「すべき」ステートメントが必要でした。 VUE拡張子なしのファイル名を尋ねることで数字と文字のシーケンスを追加しました。ドキュメントがこれをカバーしていないようで、これが他の誰かの助けになることを願っています。