我正在开发电子上运行的应用程序使用Mocha的Spectron测试。我遇到的主要问题是,Javascript不会威胁到通过工具输入的文本,而不会威胁到真正的键盘输入。
为了解决这个问题,我想在设置了值之后,在特定的字段上应用模糊事件。这里的问题是WebdriverIO的' element‘方法返回的是JSON对象,而不是DOM元素,所以.on("blur")不能链接到它。
有什么建议可以实现这一点吗?
提前谢谢。
发布于 2021-02-11 15:40:46
我知道这篇文章很久以前就发表了,但我只是在查找如何实现同样的事情时才发现这篇文章的。我将发布我用来实现这一点的方法,以防其他人需要类似的东西。
同时,我得出的结论是,没有办法通过可用的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);https://stackoverflow.com/questions/49387334
复制相似问题