该问题与一般的 js 编程有关,但我将使用 nightwatch.js 作为示例来详细说明我的查询。
NightWatch JS 为其浏览器组件提供了各种链接方法,例如:-
browser
.setValue('input[name='email']','example@mail.com')
.setValue('input[name='password']', '123456')
.click('#submitButton')
但是,如果我正在编写从下拉列表中选择选项的方法,则需要多个步骤,并且如果表单中有多个下拉列表,它会变得非常混乱,例如:-
browser
.click(`#country`)
.waitForElementVisible(`#india`)
.click(`#india`)
.click(`#state`)
.waitForElementVisible(`#delhi`)
.click(`#delhi`)
是否可以创建自定义链接方法来对这些已定义的方法进行分组?例如:
/* custom method */
const dropdownSelector = (id, value) {
return this
.click(`${id}`).
.waitForElementVisible(`${value}`)
.click(`${value}`)
}
/* So it can be used as a chaining method */
browser
.dropdownSelector('country', 'india')
.dropdownSelector('state', 'delhi')
或者有没有其他方法可以解决我增加代码的可重用性和可读性的问题?