我可以在nightwatch.js中创build可重复使用的testing步骤吗?

我期待在我的nightwatch.jstesting中创build可重用的组件。

即。 login到Web应用程序,注销Web应用程序

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

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

  1. 在nightwatch.json中指定将包含您的自定义命令文件的文件夹的path
  2. 创build一个js文件并将其命名为自定义命令应该是名称(即login.js)
  3. 写下你需要的代码:
 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; }; 

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

那么你可以

 var myPage = client.page.myPage(); myPage.navigate() .assert.title('MyPage') .login('foo', 'bar) .assert.displayName('foo'); 

要添加到以前的答案,您还可以创build自定义断言和记者除了命令。

“ 守夜指南”提供了更多关于定制和延长守夜的信息。