如何在 WebdriverIO 中实时 运行 命令?
How do I run commands in real time in WebdriverIO?
我将 WebdriverIO 与 Node.js 一起使用。
我有一个不太简单的场景,我想 运行 我不想每次都重新开始,因为场景从登录开始,需要时间。
所以我正在寻找的是一种从某个点一次 运行 1 个命令的方法。
可能吗?
我现在正在做的是设置调试器并调试脚本:
client
.init()
.windowHandleMaximize()
.url('URL')
.setValue('#email_login', 'EMAIL')
.setValue('#password_login', 'PASSWORD')
.submitForm('#login_form')
.click('li=New (Empty)')
.then(() => {
console.log(client) //set debugger here
})
.end()
但是,这种方法的问题是,如果我有一个异步函数,我就无法 运行 它与我的 IDE (WebStorm) 一起正确使用。
例如,如果我 运行
client.selectByAttribute('data-id', 'library-characters')
.then(function(aa){
console.log(aa)
})
在 console.log(client)
上的断点上没有任何反应,我得到的唯一日志是此调用的结果是一个承诺。
答案是browser.debug()
,这里有解释:
http://webdriver.io/api/utility/debug.html
我将 WebdriverIO 与 Node.js 一起使用。
我有一个不太简单的场景,我想 运行 我不想每次都重新开始,因为场景从登录开始,需要时间。
所以我正在寻找的是一种从某个点一次 运行 1 个命令的方法。
可能吗?
我现在正在做的是设置调试器并调试脚本:
client
.init()
.windowHandleMaximize()
.url('URL')
.setValue('#email_login', 'EMAIL')
.setValue('#password_login', 'PASSWORD')
.submitForm('#login_form')
.click('li=New (Empty)')
.then(() => {
console.log(client) //set debugger here
})
.end()
但是,这种方法的问题是,如果我有一个异步函数,我就无法 运行 它与我的 IDE (WebStorm) 一起正确使用。
例如,如果我 运行
client.selectByAttribute('data-id', 'library-characters')
.then(function(aa){
console.log(aa)
})
在 console.log(client)
上的断点上没有任何反应,我得到的唯一日志是此调用的结果是一个承诺。
答案是browser.debug()
,这里有解释:
http://webdriver.io/api/utility/debug.html