javascript - 我可以将webdriver v4测试方法链重写为v5(当前spectron / electron测试)
问题描述
我使用光谱/电子测试。Spectron 更新更改为 webdriver v5。我有用 v4 方法链编写的 UI 测试。我可以将 webdriver v4 测试方法链重写为 webdriver v5(当前 spectron)吗?
it("input basic test", function() {
return this.app.client.waitForVisible('#query-area__query-input__input')
.waitForEnabled('#query-area__query-input__input')
.clearElement('#query-area__query-input__input')
.setValue('#query-area__query-input__input', "Bonan matenon!")
.getValue('#query-area__query-input__input')
.then(function(text){assert(text === 'Bonan matenon!')})
})
在https://github.com/MichinariNukazawa/lina_dicto/blob/master/lina_dicto/test/input_ui.js
我知道需要替换一些方法和元素 id 选择器。查看我的 spectron 问题网址: https ://github.com/electron-userland/spectron/issues/663
解决方案
旧 Spectron(WebdriverIO v4 方法链接)
it("input basic test", function() {
return this.app.client.waitForVisible('#query-area__query-input__input')
.waitForEnabled('#query-area__query-input__input')
.clearElement('#query-area__query-input__input')
.setValue('#query-area__query-input__input', "Bonan matenon!")
.getValue('#query-area__query-input__input')
.then(function(text){assert(text === 'Bonan matenon!')})
})
新的 Spectron(WebderiverIO v5 异步/等待)
it("input basic test", async function() {
const inputElement = await this.app.client.$('#query-area__query-input__input');
let text;
text = await inputElement.getValue();
console.log(`before:'${text}'`);
await inputElement.waitForEnabled()
await inputElement.clearValue()
await inputElement.setValue("Bonan matenon!")
text = await inputElement.getValue();
console.log(`after:'${text}'`);
assert(text === 'Bonan matenon!')
// assert(text === '') // test to test (falure)
})
推荐阅读
- c - 使用较大数组初始化字符数组时的行为
- qt - QML TreeView - 更改展开图标的位置
- hibernate - Spring 应用程序中的 Hibernate Envers 性能和事务管理
- android - 增加双簧管音量后如何避免噼里啪啦的爆裂声?
- javascript - 幻灯片代码在 Javascript 中不起作用
- jenkins - jenkins is not showing login page after new installation setup with ubuntu 16.04
- html - 使用 VBA 单击没有 ID 的按钮
- android - 在 Android 中使用 edittext 和 recyclerview
- flutter - 启用导航时在 PageView 中保留小部件状态
- ssl - Windows 10 设备门户预配自签名 SSL 证书