【问题标题】:How to import and use static javascript object in webdriverIO testing?如何在 webdriverIO 测试中导入和使用静态 javascript 对象?
【发布时间】:2021-04-18 06:53:18
【问题描述】:

我正在尝试测试元素中存在的一些值,这些值存储在静态对象中,这是我正在采用的方法。

文件 - someObjects.js(存储静态对象)

class SomeObjects {
    static headers = {
        header1: "Something",
        header2: "Something else",
    };
}
export default SomeObjects;

现在我想检查某些元素是否与 header1 匹配。所以这是我正在运行的测试文件

import SomeObjects from "../../SomeObjects";

const HomePage = require('../../HomePage');

describe("", () => {

    it("", () => {
        HomePage.open()
        const title = browser.$('#title');
        expect(title).toHaveText(SomeObjects.headers.header1);
    });
});

但是,这根本行不通。对此的任何帮助将不胜感激,谢谢。 附言这是我在运行测试时收到的错误消息。 [0-0] Error: Unable to load spec files quite likely because they rely on browser object that is not fully initialised.

【问题讨论】:

    标签: javascript selenium automated-tests cypress webdriver-io


    【解决方案1】:

    看起来您在导出类时错过了 new 关键字和大括号 (),您的代码应该如下所示..

    class SomeObjects {
       static headers = {
           header1: "Something",
           header2: "Something else",
        };
    }
    export default new SomeObjects();
    

    这也可以使用常量类或使用 json 文件来实现。您会在我的个人 webdriverio git repo WDIO6_TypeScript_BDD 中找到几个示例

    【讨论】:

      【解决方案2】:

      我发现的最好的 Cypress 方法是 - Fixture

      对于您的示例 - 您可以在 json 文件中添加对象 - 例如 myFixture.json - 位于 fixtures 文件夹中:

      {
          "header": {
              "header1": "Something",
              "header2": "Something else",
          };
      }
      

      然后在测试中:

      describe("", () => {
      
          it("", () => {
              HomePage.open()
              const title = browser.$('#title');
              cy.fixture('myFixture.json')
                  .then(object =>{
                      expect(title).toHaveText(object.headers.header1);
                  })
      
          });
      });
      

      【讨论】:

      • 这对 webdriverIO 测试有何帮助?
      • 我正在尽我所能根据赛普拉斯文档给出答案。
      • 我很确定 Syantan 正在寻找 webdriverIO 答案而不是赛普拉斯答案,他显示的代码似乎都不是赛普拉斯。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 2016-05-24
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      相关资源
      最近更新 更多