Mocha + WebDriverIO - 常用功能

时间:2017-08-30 08:58:55

标签: javascript mocha webdriver-io

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

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

这是推荐的方法吗?

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

2 个答案:

答案 0 :(得分:1)

最简单的方法是做你已经暗示制作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');
});

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

  • 普通用户将登陆简单的用户页面
  • 注册用户将登陆他们的帐户"页面
  • 管理员将登陆他们的仪表板页面..etc..etc ..

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

希望这会有所帮助。

答案 1 :(得分:0)

一个选项是设置页面对象as defined in the official docs。我也有a video covering subject on YouTube

如果您不想做页面对象,可以使用the 'addCommand' command向WebdriverIO添加自定义命令。