我可以在nightwatch.js中创建可重复使用的测试步骤吗?

时间:2015-07-13 16:09:25

标签: node.js selenium nightwatch.js

我希望在nightwatch.js测试中创建可重用的组件。

即。登录Web应用程序,注销Web应用程序

以可重用的方式创建这些步骤的最佳方法/模式是什么?

3 个答案:

答案 0 :(得分:26)

您可以为其创建自定义命令:http://nightwatchjs.org/guide#writing-custom-commands

    nightwatch.json中的
  1. 指定包含自定义命令文件的文件夹的路径
  2. 创建一个js文件并将其命名为自定义命令应该是名称(即login.js)
  3. 编写您需要的代码:
  4. exports.command = function(username, password) {
        
        this
            .waitForElementVisible('#password', 4000)
            .setValue('#password', password)
            .waitForElementVisible('#username', 1000)
            .setValue('#username', username)
            .waitForElementVisible('#sign_in', 1000)
            .click('#sign_in')
            .waitForElementVisible('h1.folder-title', 10000)
            
            return this;
    };

    1. 在测试中使用自定义命令:
    2. .login("your_username", "your_password")

答案 1 :(得分:3)

这通常使用页面对象完成。 http://nightwatchjs.org/guide#page-objects

然后你可以

var myPage = client.page.myPage();

myPage.navigate()
  .assert.title('MyPage')
  .login('foo', 'bar)
  .assert.displayName('foo');

答案 2 :(得分:0)

要添加到上一个答案,除了命令之外,您还可以创建自定义断言和记者。

Nightwatch Guide提供了有关自定义和扩展Nightwatch的更多信息。