javascript - Mocha + WebDriverIO - 常用功能

标签 javascript mocha.js webdriver-io

我有一个测试,其中包含我想要在多个文件中重复使用的步骤。

我想我可以创建一个名为 common.js 的文件,列出其中的所有函数,然后在需要时调用。

这是推荐的方法吗?

我觉得唯一的问题是常用方法的文件超长,如果我分开,那么我需要使用大量 require 语句。

最佳答案

最简单的方法是按照您的提示创建一个 commonSpec.js 文件,并通过 importTest() 在任何地方使用它,如下所示:

commonSpec.js

describe('Common Steps that will be used by all', () => {
    it('Can log in', () => {
       //log in code
    });

    it('land on a particular page', () => {
        // assertion code for the particular page
    });
});

commonSpecUsed.js

describe("Common Specs", () => {
    importTest("common specs", './commonSpec.js');
});

当它们共享相同的规范并断言相同的值时,上述方法是最好且简单的。但是当断言不同时,例如

  • 普通用户将登陆一个简单的用户页面
  • 注册用户将登陆其“我的帐户”页面
  • 管理员将登陆他们的仪表板页面......等等......等等......

然后,您可能希望通过启用 commonSpec.js 文件接受参数来使其更加动态。这完全取决于您的测试要求。如果您能分享一些代码片段,将会更有帮助。

希望这有帮助。

关于javascript - Mocha + WebDriverIO - 常用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45956113/

相关文章:

javascript - 如何使 Chai 自定义断言失败?

javascript - Chai spy 和异步调用不会调用一次

javascript - 在 WebdriverIO 上执行 TestRunner 失败

javascript - If语句为不存在的对象抛出错误

typescript - TypeScript错误TS2403 : Subsequent variable declarations must have the same type

javascript - 如何在 Map.get() 中的键上使用字符串方法

javascript - 我可以在 1 之前有 2 个使用 Mocha 的描述吗?

webdriver-io - 网络驱动.io : what's the difference between the capabilities and desiredCapabilities keywords?

javascript - iOS Safari 不显示选择菜单的所有选项

javascript - 通过复选框过滤对象数组