队长模块_谷歌web自动化测试框架3.8,简洁、稳定、开源
精易3.8首发
原理:
基于谷歌开放协议(DCP),借助HP_socket和谷歌浏览器交互,利用json格式数据进行数据交互,实现了谷歌WEB自动化测试。本模块是基于谷歌开发者协议编写的仿谷歌F12工具的易语言模块!
模块架构:
1.一个调试端口对应一个浏览器,N个调试端口对应N个浏览器(对应到模块的浏览器类)
2.一个调试端口+标签ID对应一个浏览器的一个标签页,一个调试端口+N个标签ID对应一个浏览器的N个标签页(对应到模块的标签页类)
3.一个标签页下面有1到N框架,定位网页元素框架,对元素操作
模块主要更新内容:
1.移植鱼刺部分功能,移植zyrapidjson模块到源码,简化jb.ec模块,减少模块引用,同时减少体积和其他模块的冲突
2.实现自动类销毁,当标签页类被断开或者销毁时释放资源,保证内部管理数据稳定运行
3.对取标签页和取框架做了简化处理,方便新手使用
4.2.92版将队长模块更名为队长自动化测试模块,现3.8版后更名为队长模块_谷歌web自动化测试框架,因为后面会有队长模块_火狐web自动化测试框架出来
5.更新细节如下:
' 1.启动_浏览器对浏览器缓存路径是否存在进行检测,不存在返回失败,留空为默认浏览器缓存路径
' 2.增加队长浏览器类.取浏览器_是否启动(),通过连接浏览器调试服务的方式来判断浏览器是否启动了,通常用在对队长_启动浏览器()后的加强判断
' 3.增加队长浏览器类.连接浏览器(),方便直接连接开启了调试端口的谷歌浏览器,返回标签页的数量,返回0就是指定端口的浏览器未启动,或者未开启调试端口,或者端口被其他应用占用
' 4.增加队长标签页类.页面_取标题(),取出页面主框架标题
' 5.增加队长标签页类.页面_取地址(),取出页面主框架地址
' 6.增加队长标签页类.页面_置地址(),置页面主框架地址,修改网页地址,网页会跳转
' 7.增加队长标签页类.页面_置标题(),置页面主框架标题,修改网页标题
' 8.移植鱼刺部分功能,移植zyrapidjson模块到源码,简化jb.ec模块,减少模块引用,同时减少体积和其他模块的冲突
' 9.优化队长浏览器类.切换代理(),队长浏览器类.清除缓存(),当插件没加载时,命令执行失败,调试会提示加载插件
' 10.队长_命令行增加成员首页,浏览器默认启动首页是"about:blank"
' 11.修复队长标签页类.取激活标签页()当传进去的参数是程序集变量时,会记忆原来的标签页数据导致操作的是原来的标签页的问题
' 12.优化队长标签页类.关闭激活标签页(),当标签页只有一个时,不关闭浏览器
' 13.增加队长浏览器类.取标签页_指定标签ID(),通过标签id来取指定标签页
' 14.增加队长浏览器类.取标签页_指定网页(),通过网址和标题取指定标签页,如果标题和网址都为空,返回取到标签页的第一个,也就是激活标签页
' 15.修改队长浏览器类.取标签ID列表(),删除参数远程端口,使用队长浏览器类.初始化()后的调试端口
' 16.修改队长标签页类.标签页_手动绑定(),增加返回值,会检测远程端口和标签页id是否存有效
' 17.增加队长标签页类.框架_指定索引是否就绪 (),判断框架列表下标的框架是否就绪,简化使用
' 18.增加队长标签页类.框架_指定网页是否就绪 (),判断指定网址和名称的框架是否就绪,简化使用
' 19.增加队长标签页类.框架_指定索引取脚本环境id (),获取框架列表下标的框架的脚本环境id,简化使用
' 20.增加队长标签页类.框架_框架_指定网页取脚本环境id() ,判断指定网址和名称的框架的脚本环境id,简化使用
' 21.增加队长标签页类.浏览器_取窗口id() ,取出标签页所属窗口的窗口id
' 22.优化队长标签页类.浏览器_取窗口信息(),队长标签页类.浏览器_置窗口大小(),队长标签页类.浏览器_置窗口显示状态(),内部默认执行浏览器_取窗口id()取出窗口id
' 23.优化队长浏览器类.关闭浏览器(),采用协议提供命令更加优雅的关闭浏览器,并检测所有标签页是否关闭完毕
模块简介(复制粘贴):
· 免费、简洁、稳定、开源
· 模块需要配合谷歌浏览器,支持最新版107版,但win10已经有谷歌内核的edge浏览器了
· 支持多线程多进程,实现web自动化测试,独立ck,独立缓存
· * 不重启浏览器实时换呆梨(插件实现) ,而且http和https支持密码认证。S4和S5只支持无密码
· 脚本断点与条件断点
· 拦截并修改请求数据
· 无感选择文件,不会弹出选择文件的窗口。接管选择接口
· 支持多框架网页,不用考虑跨域,也支持特殊框架(某些外部填表无法枚举出来的网页)
· ws网络请求事件拦截
· http网络请求事件拦截
· 浏览器消息框拦截并操作
· 手工级的键盘和鼠标,并非系统命令而是谷歌命令,稳,支持多线程多进程同时操作
·下载文件拦截,可从浏览器接管下载
· ck操作,增删改查
· 模拟触摸,滑动速度可调,可抛拽
· 页面截图,可指定位置与大小
· 两种网页判断就绪命令,精准
· 各种伪装:UA、地理位置、移动模式、屏幕大小、设备方向、cpu节流、触摸支持
· 资源提取,js、图片、音频等
· 执行js脚本,同步执行带返回值
· 无感添加文件到input元素,这个是直接添加不是上面的拦截选择文件
· 可加载自定义指纹插件或注入自定义指纹js,实现js层伪装指纹
· 三种谷歌级模拟输入文本模式,总有一个适合你。完美输入
· 元素命令支持Selector选择器与XPath选择器
· 元素命令提取网页图片验正码
· 脚本注入,注入的脚本优先于网页js
· 轻松加载自己的浏览器插件,自己写的或者商店下载的都可以。
· console事件,巧妙应用可实现易语言和网页进行交互,比如让你软件响应网页按钮等。
· *队长浏览器类.清除缓存(插件实现) 。完美的清除缓存功能,等同于手动在浏览器设置页里的清除缓存
· ws对象操作,直接操作网页js里的ws对象。ws对象相关操作,可以发送、拦截修改、拦截后阻止、或者拦截后用自定义函数来处理数据等操作,就是说真的可以为所欲为。
· *动态加载队长插件(谷歌插件),命令快捷加载。队长插件功能:完美的浏览器全局js注入、完美的清除缓存
· *动态加载油猴插件,增强对浏览器或者网页的操控。
· 更多功能,敬请期待...
注意:标记了星号*的,说明要加载插件才能实现。
队长模块全功能测试工具源码例子(模块95%的功能):
更新日志:https://docs.qq.com/sheet/DSkZwVlBOWUdEeVdl?tab=BB08J2
特别声明:队长模块目前是完全免费,开源的,论坛的例子只要有点基础是完全够用的!队长模块群,入群收取了一定入群费,作于群维护!不入群,可以等无差别的使用开源的队长模块,不入群,可以等无差别的使用开源的队长模块,不入群,可以等无差别的使用开源的队长模块!重要的事情说三遍
队长周边付费功能演示(打个广告):
1.队长模块谷歌浏览器元素探测工具(快速定位元素和测试元素功能):
2.精心设计的多线程压力测试模块实例:
谢谢您对队长模块的支持,如果觉得不错请给个好评↓↓↓,谢谢
附件源码回复可见:
|