我正在使用 Mocha 为在 Electron 上运行的应用程序开发 Spectron UI 测试。我遇到的主要问题是 Javascript 不会像键盘的实际输入一样威胁工具输入的文本。
作为解决方法,我想在设置值后在特定字段上应用模糊事件。这里的问题是 WebdriverIO 的 'element' 方法返回的是 JSON 对象而不是 DOM 元素,因此 .on("blur") 不能链接到它。
有什么建议可以实现吗?
提前致谢。
我正在使用 Mocha 为在 Electron 上运行的应用程序开发 Spectron UI 测试。我遇到的主要问题是 Javascript 不会像键盘的实际输入一样威胁工具输入的文本。
作为解决方法,我想在设置值后在特定字段上应用模糊事件。这里的问题是 WebdriverIO 的 'element' 方法返回的是 JSON 对象而不是 DOM 元素,因此 .on("blur") 不能链接到它。
有什么建议可以实现吗?
提前致谢。
我知道这是很久以前发布的,但我只是在查找如何实现相同目标时发现了这篇文章。我将发布我用来实现此目的的方法,以防其他人需要类似的东西。
与此同时,我得出的结论是,无法通过可用的 webdriver.io 函数直接实现这一点,但可以通过 browser.execute 方法来实现。
为了能够轻松地重用它,我创建了一个使用 browser.execute 功能的函数,然后在需要触发模糊的地方调用它。
function triggerBlur(elementSelector){
browser.execute((selector) => {
document.querySelector(selector).blur();
}, elementSelector);//pass the selector to the execute function
}
//example usage
let targetElementSelector = '#myInput',
targetElement = browser.$(targetElementSelector);
targetElement.setValue("new value");
triggerBlur(targetElementSelector);