使用js实现可反馈执行成功状态的web ui自动化事件

简介:
webdriver提供的动作执行,如点击,有时会操作某些控件时,执行语句正常,但实际没有触发点击,原因很多,一般处理方式是使用它的execute_script方法注入js来执行(强化功能的一种方式), 但同样会存在这种情况,无法知道执行是否真的有效。
  基于js中增加一个反馈机制,可以做到对执行效果有一定程序的控制,以click为例
return(function($,elem){
$(elem).one("click",function(){window._action_confirm=true; });
try{
var evt = document.createEvent( 'MouseEvents' );
evt.initEvent('click', true, true);
elem.dispatchEvent(evt);
}catch(e){
elem.click();
}
var start_time = new Date().getTime();
while(true){
if(window._action_confirm){
return elem;
}
if((new Date().getTime())-start_time > 1500){
return null;
}
}
})(jQuery,elem)
  执行的结果如果返回null,则表示js的click执行失败(可以再次尝试框架动作的执行),否则表示执行成功
版权声明:本文出自 xiadw 的51Testing软件测试博客:http://www.51testing.com/?215196
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
4月前
|
前端开发 JavaScript 开发者
JavaScript:无处不在的Web语言
JavaScript:无处不在的Web语言
|
4月前
|
前端开发 JavaScript 开发者
JavaScript:构建动态Web的核心力量
JavaScript:构建动态Web的核心力量
|
4月前
|
JavaScript 前端开发 开发者
JavaScript:驱动现代Web的核心引擎
JavaScript:驱动现代Web的核心引擎
|
8月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
4月前
|
JavaScript 前端开发 物联网
JavaScript:驱动现代Web的核心引擎
JavaScript:驱动现代Web的核心引擎
|
7月前
|
JSON JavaScript 前端开发
JavaScript入门干货:蓝桥杯Web组分章学习笔记(基于蓝桥云课《JavaScript基础入门》)
这是一份详尽的JavaScript学习笔记,涵盖基础到进阶内容。包括变量、运算符、数组、字符串操作,DOM/BOM事件处理,内置对象(如Array、Date、Math)用法,JSON格式解析,以及函数作用域与闭包等核心概念。同时深入探讨值类型和引用类型的差异、异常处理机制,并介绍函数高级特性如call/apply/bind方法、递归及arguments对象。代码按章节分点整理,注释细致,适合初学者系统掌握JavaScript编程知识。
140 2
|
8月前
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
1019 12
|
11月前
|
JavaScript 前端开发 API
如何在React.js中使用Shadcn/UI
学习如何在React.js中使用Shadcn/UI构建轻量且可定制的现代化界面。Shadcn/UI为React.js打造,提供核心组件和Tailwind CSS支持,帮助你创建独特的UI,避免大型框架的臃肿。本文介绍安装、配置及与Apipost集成的方法,适合希望提升React.js项目的开发者。通过定制主题和优化性能,你可以高效地开发出功能强大的应用。