开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 17323|回复: 445
收起左侧

[易源码分享] 队长模块_谷歌web自动化测试框架6.0

    [复制链接]
发表于 2023-7-10 12:05:34 | 显示全部楼层 |阅读模式   山西省晋中市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
本帖最后由 huningli38 于 2023-7-10 12:09 编辑

队长模块_谷歌web自动化测试框架6.0,简洁、稳定、开源

精易6.0首发
原理:

基于谷歌开放协议(CDP),借助HP_socket和谷歌浏览器远程调试服务端进行通信,利用json格式数据进行数据交互,实现了谷歌WEB自动化测试。通CDP,开发者可以构建自己的工具或库,实现自动化测试、性能分析、页面抓取、调试等功能。它为开发者提供了更高级的控制和访问权限,使得开发者能够更好地理解和优化他们的网页或应用程序。
本模块是基于谷歌开发者协议编写的仿谷歌F12工具的易语言模块!
队长模块通信架构.jpg 绘图1.png


模块架构:


1.一个调试端口对应一个浏览器,N个调试端口对应N个浏览器(对应到模块的浏览器类)
2.一个调试端口+标签ID对应一个浏览器的一个标签页,一个调试端口+N个标签ID对应一个浏览器的N个标签页(对应到模块的标签页类)
3.一个标签页下面有1到N框架,定位网页元素框架,对元素操作


队长模块模型.jpg 数据交互流程图示.jpg

简化队长chrome类介绍:

队长chrome类本来是简化队长浏览器类和队长标签页类,实现单类的简便使用,尤其是方便新手使用,但是随着越来越多人使用,最近反馈无法满足多个标签页同时操作,比如操作谷歌浏览器插件,插件页面会动态开启和关闭,于是升级了部分命令功能,要是想控制多个标签页,还嫌弃队长浏览器类和队长标签页类组合麻烦,可以尝试使用队长浏览_*子程序命令和队长标签页类组合,
目前3种控制浏览器自动化测试的3种组合方式,
1.队长浏览器类和队长标签页类组合(总有一种方式适合你的),
2.队长浏览器_*子程序命令和队长标签页类组合,
3.队长chome类


模块简介(复制粘贴):

· 免费、简洁、稳定、开源 · 模块需要配合谷歌浏览器,支持最新版114版,但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注入、完美的清除缓存 · *动态加载油猴插件,增强对浏览器或者网页的操控。 · 更多功能,敬请期待...

更新细节如下:


2023/7/106.0' 队长模块_谷歌web自动化测试框架6.0
' 1.修复元素_添加子节点,xpath选择器模式下的错误,队长标签页类.元素_添加子节点(),队长chrome类.元素_添加子节点()同步更新
' 2.优化元素_取可视状态,增加加强判断参数,可以判断父元素隐藏子元素隐藏的状态,队长标签页类.元素_取可视状态(),队长chrome类.元素_取可视状态()同步更新
' 3.优化队长chrome类.初始化(),去掉内部队长浏览器_连接浏览器()命令,减少初始化对队长标签页类的申请和释放,减少对队长长标签页类的以赖,去掉标签页_手动绑定()改为队长浏览器_取标签页ID列表(),直接获取激活标签页ID,初始化参数
' 4.修复元素_取img图片(),元素_取坐标(),在多线程中同时操作同一个标签页类或队长chrome类时,有一定概率崩溃,队长标签页类.元素_取img图片(),队长标签页类.元素_取坐标(),队长chrome类.元素_取img图片(),队长chrome类.元素_取坐标()
' 5.优化注入_脚本(),注入_删除(),注入清空(),ws_覆写对象(),ws_还原对象(),在多线程中同时操作同一个标签页类或队长chrome类时,有一定概率崩溃,
' 6.删除队长标签类和队长chrome类部分成员变量,更好的适应多线程
' 7.增加队长chrome类.浏览器_关闭标签页() 用来关闭指定标签页
' 8.队长chrome类.标签页_切换到指定网页()增加参数用来返回队长chrome类,可以用另外的队长chrome类控制指定标签页,实现多标签控制,尤其是控制一些自动打开关闭的插件
' 9.队长chrome类.标签页_新建标签页()增加参数用来返回队长chrome类,可以用另外的队长chrome类控制新建标签页,不影响原标签页,实现多个队长chrome类控制多个标签页
' 10.队长chrome类本来是简化队长浏览器类和队长标签页类,实现简便使用,但是随着使用,无法满足多个标签页同时操作,于是升级了部分命令功能,要是想控制多个标签页,还嫌弃标签页多,可以尝试使用队长浏览_*子程序命令和队长标签页类组合,目前3种组合方式,1.队长浏览器类和队长标签页类组合,2.队长浏览器_*子程序命令和队长标签页类组合,3.队长chome类,
' 11.增加鼠标_拖动,方便研究鼠标拖动一段距离放开,队长标签页类.鼠标_拖动(),队长chrome类.鼠标_拖动()同步更新
' 12.优化触摸_滑动,方便研究触摸滑动一段距离放开,队长标签页类.触摸_滑动(),队长chrome类.触摸_滑动()同步更新
' 13.优化队长标签页类和队长chrome类的一些内部参数
2023/5/30
5.9
' 队长模块_谷歌web自动化测试框架5.9
' 1.优化队长_启动浏览器,增加启动模式,根据不同系统可以自己选择启动方式,默认为易语言的【运行()】兼容型最好,修改参数【接收_浏览器进程id】获取方式为队长_端口取进程id_,默认取到的是主进程的id
,失败返回0
2023/5/185.8' 队长模块_谷歌web自动化测试框架5.8
' 1.修复类_连接标识失效问题,请使用5.7版的朋友升级,5.6及以下版本不受影响
' 2.鼠标_移动增加参数按键,可以控制鼠标移动的时候是鼠标的那个键
' 3.增加队长标签页类.元素_取子元素数量,队长chrome类.元素_取子元素数量,
' 4.优化队长标签页类.模拟_输入文本,增加是否手打模式参数,默认改为普通输入,增强为手打模式,根据实际情况使用
2023/5/11
5.7
' 队长模块_谷歌web自动化测试框架5.7
' 1.去掉队长_启动浏览器,队长命令行.首页留空时修改为空白页,采用谷歌浏览器默认欢迎页,当队长_启动浏览器再次用相同缓存目录启动时,产生窗口标签页
' 2.优化类_连接,提高类连接速度,更加合理的分配缓存包.







附件源码回复可见:
队长模块_谷歌web自动化测试框架6.0.zip (1.63 MB, 下载次数: 1967)

点评

大佬模块网站资源也太老了,更新下呗   天津市天津市  发表于 2023-12-7 10:43

评分

参与人数 20好评 +16 精币 +29 收起 理由
zpinsist + 1 支持开源~!感谢分享
jokebox + 1 好东西,队长模块最全的测试工具例子源码哪里取呀
mosheng + 1 + 2 支持开源~!感谢分享
fmheart + 1 感谢发布原创作品,精易因你更精彩!
人间不直的 + 1 + 1 YYDS~!
网络注册会员 + 1 + 1 支持开源~!感谢分享
wflb826 + 1 + 2 最新的6.3版本在哪里下载?
zydsq + 1 支持开源~!感谢分享
pj小黑屋 + 1 感谢分享,很给力!~
ppppzj + 1 + 2 支持开源~!感谢分享
by626 + 1 YYDS~!
qaz5080 + 1 支持开源~!感谢分享
badlwolf + 1 + 2 支持开源~!感谢分享
fengyishen + 1 + 3 感谢分享,很给力!~
※逍遥游※ + 1 感谢分享,很给力!~
Aurora + 1 + 3 大神,请收下我的膝盖
陈大奶么么哒 + 1 + 2 感谢分享,很给力!~
星空漫步 + 1 + 2 开源精神必须支持~
勾栏听曲 + 1 + 2 支持开源~!感谢分享
金哥专用 + 1 + 3 支持开源~!感谢分享

查看全部评分


结帖率:64% (7/11)

签到天数: 18 天

发表于 2023-7-10 14:08:56 | 显示全部楼层   浙江省杭州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/3)

签到天数: 1 天

发表于 2023-7-10 14:17:58 | 显示全部楼层   湖北省武汉市
哈哈哈哈哈哈哈哈哈或或
回复 支持 反对

使用道具 举报

结帖率:100% (7/7)

签到天数: 23 天

发表于 2023-7-10 14:23:04 | 显示全部楼层   辽宁省沈阳市
更新了 支持一下
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 28 天

发表于 2023-7-10 14:34:20 | 显示全部楼层   山西省运城市
666           
回复 支持 反对

使用道具 举报

结帖率:67% (8/12)

签到天数: 8 天

发表于 2023-7-10 14:40:36 高大上手机用户 | 显示全部楼层   安徽省合肥市
测试一下看看
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2023-7-10 14:48:23 | 显示全部楼层   广东省韶关市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 25 天

发表于 2023-7-10 14:51:06 | 显示全部楼层   广东省东莞市
支持开源!感谢分享
回复 支持 反对

使用道具 举报

结帖率:44% (4/9)

签到天数: 27 天

发表于 2023-7-10 14:51:52 | 显示全部楼层   江苏省镇江市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2023-7-10 14:54:42 | 显示全部楼层   河南省驻马店市
开源精神必须支持~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表