我们的系统的日期控件,在做 webUI 自动化时,输入日期,但是日期弹框一直显示,遮挡其他元素,导致其他元素无法定位2022-10-21 16:12:56random random订阅者关注私信10318文章0粉丝 测试交流19219字数 87阅读0分17秒阅读模式我们的系统,大致有一下三种日期控件特别是前两种,我试的用输入的方式,输入日期,但会存在一个问题,就是在执行脚本的时候,日期弹框不会关闭,而且会遮挡下面的其他输入框,导致元素被遮挡,无法进行操作相关阅读AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断从零搭建AI测试用例工作流:需求文档自动转思维导图AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误测试反模式的思考 回复 19 评论 19 访客 19 testjson 9 2022-10-21 09:53:18 19F 回复 嗯,感谢,已经找前端了,中午帮我看看 testjson 9 2022-10-21 09:52:21 18F 回复 我们系统的不一样,你定位到直接输入会有弹框,不想办法隐藏弹框,就会把其他元素遮挡无法定位 Tester_谜城 9 2022-10-21 09:34:47 17F 回复 这个应该就是点击触发赋值的情况了,校验不是使用设置的 value,是点击触发存储的变量 这种控件在前端设置 value 都是没用的, 解决办法参考 17 楼, 另外也可以找研发看能不能给一个可以直接赋值的 JS 调用方法 西学东渐 9 2022-10-21 09:21:38 16F 回复 我遇到日期选择都是定位到就直接传值了啊,也不用点击 click 啥的,就成功了,你这种还没遇到过 JoyMao 9 2022-10-20 17:54:32 15F 回复 这种是使用某类前端框架的表单和字段组件,校验可能不使用原生的 value,而是组件本身存储机制。 所以除了改 input 的 value,可能还要改对应框架存储的值比如这种 vue-element 的框架,日期组件的值和是否显示在这个组件字段的vue._data 中。比如关闭日期选择器: $(“.el-date-editor”).__vue__._data.pickerVisible=false testjson 9 2022-10-20 16:38:13 14F 回复 用了这种方法,确实可以,能直接赋值,但我提交的时候,出现了这种情况 testjson 9 2022-10-20 16:10:15 13F 回复 刚开始没注意你的回复,确实是用这种方式解决的,直接用 js 传值,不触发弹框 Tester_谜城 9 2022-10-20 15:29:53 12F 回复 JS 直接设置 value, 不会触发弹框 element = driver.find_element(*locator) driver.execute_script(‘arguments[0].value=”{}”‘.format(value), element) testjson 9 2022-10-20 14:19:19 11F 回复 def keyboard(self,loc): self.locator(loc).send_keys(Keys.ENTER) self.keyboard(self.end_date)为啥敲击回车的操作不起作用评论分页 第 1 页 第 2 页 回复问题 匿名网友 确定 昵称 邮箱 网址 Address 提交 取消 拖动滑块以完成验证 您可能喜欢 AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断 从零搭建AI测试用例工作流:需求文档自动转思维导图 AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例 宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误 宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误 测试反模式的思考 使用 cookie 绕过验证码,换一个系统就无法通过验证 MeterSphere测试平台UI 自动化窗口切换方法 5000 块买的 python 自动化课程难道就这? 在 Linux 上搭建 Jenkins,自动构建接口测试
19F
嗯,感谢,已经找前端了,中午帮我看看
18F
我们系统的不一样,你定位到直接输入会有弹框,不想办法隐藏弹框,就会把其他元素遮挡无法定位
17F
这个应该就是点击触发赋值的情况了,校验不是使用设置的 value,是点击触发存储的变量
这种控件在前端设置 value 都是没用的, 解决办法参考 17 楼, 另外也可以找研发看能不能给一个可以直接赋值的 JS 调用方法
16F
我遇到日期选择都是定位到就直接传值了啊,也不用点击 click 啥的,就成功了,你这种还没遇到过
15F
这种是使用某类前端框架的表单和字段组件,校验可能不使用原生的 value,而是组件本身存储机制。
所以除了改 input 的 value,可能还要改对应框架存储的值
比如这种 vue-element 的框架,日期组件的值和是否显示在这个组件字段的vue._data 中。
比如关闭日期选择器:
$(“.el-date-editor”).__vue__._data.pickerVisible=false
14F
用了这种方法,确实可以,能直接赋值,但我提交的时候,出现了这种情况
13F
刚开始没注意你的回复,确实是用这种方式解决的,直接用 js 传值,不触发弹框
12F
JS 直接设置 value, 不会触发弹框
element = driver.find_element(*locator)
driver.execute_script(‘arguments[0].value=”{}”‘.format(value), element)
11F
def keyboard(self,loc):
self.locator(loc).send_keys(Keys.ENTER)
self.keyboard(self.end_date)
为啥敲击回车的操作不起作用