Testerum:如何向JS控制的日期文本框输入指定日期
解决方案
针对gijgo日期选择器的输入问题,结合Testerum的操作逻辑,给你三个可行方案:
方案1:分步输入+延迟解析
拆分日期输入步骤,给JS留足解析时间,适合前端监听严格的场景:
// Testerum脚本示例 type("21") wait(500) // 等待500ms让JS处理日部分 type(".") wait(300) // 分隔符后短延迟 type("01") wait(500) type(".") wait(300) type("2004")
延迟时间可根据页面性能调整,300-500ms一般足够。
方案2:输入完整日期后触发焦点切换
输入完整日期后,模拟Tab键让输入框失去焦点,强制触发gijgo的日期解析逻辑:
// Testerum脚本示例 type("21.01.2004") pressTab() // 切换焦点触发解析
如果Tab键会跳到其他元素影响后续测试,也可以用blur命令直接让输入框失焦(Testerum支持的话):
type("21.01.2004") blur()
方案3:直接通过JS设置值(兜底方案)
如果前两种方法都失效,可以直接操作DOM设置输入框值并触发change事件,绕过前端输入监听:
// Testerum中执行JS脚本 executeJavaScript("document.getElementById('your-date-input-id').value = '21.01.2004'") executeJavaScript("document.getElementById('your-date-input-id').dispatchEvent(new Event('change'))")
记得把your-date-input-id替换成实际的输入框ID或其他合法选择器(比如类名、属性选择器)。
优先尝试方案2,操作最简洁;如果页面JS响应慢,再用方案1;前两种都不行的话用方案3兜底。
内容的提问来源于stack exchange,提问作者Wolfgang
相关产品推荐
相关产品推荐

