私はJavaScriptを学び始めたばかりで、いくつかの回帰テストを自動化するためにサイプレスを使用しています。私が現在書いているテストは、ヘッダーとフッターのリンクのテキストとhrefを検証することを目的としています。
私が抱えている問題は、これらのテストをさまざまな環境で実行する必要があり、アサーションでドメインを設定するためにcypress.jsonで設定されたbaseUrlプロパティにアクセスできないように見えることです。
次のスクリプトでは、cy.get("a").should("have.attr", "href", baseUrl + footerLink.link)
行です。
_ it.only("translates the content info section", () => {
cy.wrap(orbitData).each(service => {
cy.visit(service.name);
cy.get("#orb-contentinfo > div > ul > li").each(($li, index) => {
let footerLink = service.links[index]
cy.wrap($li).should("have.text", footerLink.linkText)
.within(($li) => {
cy.get("a").should("have.attr", "href", baseUrl + footerLink.link)
});
});
});
});
_
これまでにいくつかのことを試してみましたが、それらをすべてリストするのは少し恥ずかしいです。私はこれに慣れていないので、おそらく正気でなく、間違いなく単なる推測です。それらの中にはCypress.env('CYPRESS_baseUrl')
と_Cypress.baseUrl
_がありました。毎回、undefined
として返されます。
または、これを完全に間違った方法で攻撃している場合は、より良い方法に関するガイダンスをいただければ幸いです。どんな助けやガイダンスにも感謝します、ありがとう。
Cypress.config()
コマンドを使用できます。
baseUrl
値を取得するには、Cypress.config().baseUrl
を使用します。