web-dev-qa-db-ja.com

サイプレスでbaseURLの値にアクセスする方法

私は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として返されます。

または、これを完全に間違った方法で攻撃している場合は、より良い方法に関するガイダンスをいただければ幸いです。どんな助けやガイダンスにも感謝します、ありがとう。

10
David Boydell

Cypress.config() コマンドを使用できます。

baseUrl値を取得するには、Cypress.config().baseUrlを使用します。

14
Diogo Rocha