本帖最后由 huningli38 于 2022-12-24 17:41 编辑
队长模块_谷歌web自动化测试框架4.6,简洁、稳定、开源
第二轮7号麻烦投个票谢谢https://bbs.125.la/thread-14758585-1-1.html
主要更新:1.增加一个队长chrome类,简化浏览类和标签页类的获取,直接初始化后就能控制浏览自动化测试
2.增加队长浏览器程序集,采用端口的方式,对标签页取,激活,关闭,新建,更加方便灵活 4.增加DLL内存加载_初始化,内存静态加载DLL 5.标签页_置标签页单窗口(),送给特别喜欢单窗口标签的小伙伴 6.页面_强制链接本窗口标签跳转() ,通过执行脚本,强制链接本窗口标签跳转
| | ' 1.增加模块DLL初始化 (),自动释放DLL到运行目录下
' 2.DLL内存加载_初始化 ()内存静态加载DLL,不释放DLL到本地,防止不兼容的情况默认采用自动释放DLL方式,需要自行修改
' 3增加队长_端口取进程id_,影响队长_取空闲端口()和队长_端口是否空闲()
| | | .' 1.增加队长chrome类.标签页_切换到指定标签ID()'通过标签id,切换控制标签页
' 2.修复队长浏览器_取标签页_指定网页()'当网址和标题参数都为空时,有标签页存在,不返回激活的标签页
' 3.增加队长浏览器_取标签ID_指定网页()'通过取指定网页查找标签页,配合队长标签类.手动绑定()或队长chrome类.手动绑定()或队长chrome类.标签页_切换到指定标签ID()
' 4.完善队长浏览器功能程序集,可以通过端口来获取标签页列表和操控标签页的新建,激活,关闭
' 5.修改队长浏览类,内部全部采用调用队长浏览器功能程序集下面相关命令完成
| | | ' 1.不兼容修改队长chrome类.初始化()'调整主要参数为远程端口,只需要远程端口参数为必须,谷歌浏览器全路径可选,当不选时,只进行连接远程端口,当谷歌浏览器全路径设置后才会启动浏览器
' 2.不兼容修改队长chrome类.浏览器_关闭其它标签页()'去掉标签id参数
' 3.增加队长chrome类.浏览器_取标签页信息列表()'获取浏览器所有标签页信息
' 4.增加队长chrome类.标签页_切换到指定网页()'切换到指定网页和标题的标签页
' 5.增加队长chrome类.标签页_取标签ID() '返回当前绑定的标签页
' 6.增加队长chrome类.标签页_新建标签页'新建标签页,并切换到新建的标签页上
| | | ' 1.修复队长浏览器类.取标签页_指定网页()'优化时逻辑或写成且导致,单独判断网址和标题失败
' 2.优化队长浏览器类.框架_取ck()
' 3.修复队长浏览器类.框架_置ck()
' 4.增加队长标签页类.标签页_置标签页单窗口(),网页即将打开新标签页时,关闭打开的新标签页,并且网页在本标签页跳转,优点设置后,一直有效,缺点链接跳转会打开一个新标签页
' 5.浏览器_取标签页列表 ()
' 6.浏览器_关闭标签页()
' 7.浏览器_关闭其它标签页 ()
' 8.浏览器_取标签页ID列表 ()
' 9.浏览器_取标签页_指定网页()
' 10.浏览器_取标签页_指定标签ID ()
' 11.增加队长chrome类,整合队长浏览器类和队长标签类功能,为了兼容旧版,所以单另采用了新类,简化操作,可以不用繁琐的浏览器类获取标签页类,只需要队长chrome类.A初始化()后就可以直接控制标签页,配合队长chrome类.标签页_置标签页单窗口()和队长chrome类.页面_强制链接本窗口标签跳转()实现单窗口单标签页控制,大大降低新手使用难度
' 12.增加子程序队长浏览器_取标签页列表() ,直接通过远程端口取标签页列表,简化操作
' 13.增加子程序队长浏览器_取标签页ID列表 () ,直接通过远程端口取标签页ID列表,简化操作
' 14.增加子程序队长浏览器_取标签页_指定网页 () ,直接通过远程端口取标签页_指定网页,简化操作
' 15.增加子程序队长浏览器_取标签页_指定标签ID () ,直接通过远程端口取标签页_指定标签ID,简化操作
' 16.增加子程序队长浏览器_关闭标签页 () ,直接通过远程端口关闭标签页,简化操作
' 17.增加子程序队长浏览器_关闭其它标签页 () ,直接通过远程端口关闭其它标签页,简化操作
' 18.增加子程序队长浏览器_是否已启动 () ,直接通过远程端口判断浏览器是否已启动,简化操作
' 19.增加子程序队长浏览器_连接浏览器 () ,直接通过远程端口连接浏览器,简化操作
' 20.增加子程序队长浏览器_取浏览器信息 () ,直接通过远程端口取浏览器信息,简化操作
' 21.增加子程序浏览器_取激活标签页 () ,直接通过远程端口取激活标签页,简化操作
' 22.增加子程序浏览器_关闭激活标签页 () ,直接通过远程端口关闭激活标签页,简化操作
' 23.增加子程序浏览器_关闭非激活标签页 () ,直接通过远程端口关闭非激活标签页,简化操作
' 24.增加子程序队长浏览器_取标签页数 () ,直接通过远程端口取标签页数,简化操作
' 25.增加子程序队长浏览器_新建标签页 () ,直接通过远程端口新建标签页,简化操作
' 26.增加子程序队长浏览器_激活标签页 () ,直接通过远程端口激活标签页,简化操作
' 27.增加子程序队长浏览器_油猴_添加脚本 () ,直接通过远程端口控制油猴插件添加脚本,简化操作
' 28.增加子程序队长浏览器_油猴_删除脚本 () ,直接通过远程端口控制油猴插件删除脚本,简化操作
' 29.增加子程序队长浏览器_油猴_取脚本列表 (),直接通过远程端口控制油猴插件取油猴脚本列表,简化操作
' 30.增加子程序队长浏览器_插件清除缓存 (),直接通过远程端口控制插件清除缓存,简化操作
' 31.增加子程序队长浏览器_插件切换代理 (),直接通过远程端口控制插件切换代理,简化操作
' 32.增加队长标签页类.页面_强制链接本窗口标签跳转() 通过执行脚本,强制链接本窗口标签跳转,优点不会打开新标签页,缺点刷新跳转后会失效 | | | ' 1.优化队长浏览器类.切换代理(),队长浏览器类.清除缓存(),采用更加可靠的方式判断浏览器是否加载了对应插件,对于采用缓存启动的插件,可以直接调用,需要匹配代理助手1.1,队长插件1.16
' 2.队长标签页类.元素_截图()'对指定元素截图
' 3.优化队长插件,配合模块4.0 | | | 1.修复队长浏览器类.切换代理(),队长浏览器类.清除缓存(),当插件没加载时,因为插件没有完全释放,导致部分电脑判断失败的问题
' 2.优化队长标签页类.框架_指定索引是否就绪 (),增加参考参数用于取回框架,方便直接使用框架,增加超时时间
' 3.优化队长标签页类.框架_指定网页是否就绪 (),增加参考参数用于取回框架,方便直接使用框架,增加超时时间
' 4.增加队长标签页类.页面_执行脚本返回文本(),执行结果返回通用文本,数值型和逻辑性强制转换成文本型
' 5.增加队长标签页类.页面_执行脚本返回JSON(),执行结果返回JSON数据格式文本
' 6.增加队长标签页类.框架_取ck(),执行脚本获取指定框架的cookie文本
' 7.增加队长标签页类.框架_置ck(),执行脚本获置指定框架的cookie文本
' 8.增加队长标签页类.键盘_组合按键(),完成组合按键的功能比如复制,粘贴
' 9.优化队长标签页类.模拟_输入文本(),支持触发更多事件,近似模拟_输入键盘字符
' 10.增加队长标签页类.元素_对象方法(),通过元素选择器查找元素后,执行元素对象自定义方法
' 11.增加队长标签页类.元素_置对象属性(),通过元素选择器查找元素后,置元素对象自定义属性
' 12.增加队长标签页类.元素_取对象属性(),通过元素选择器查找元素后,取元素对象自定义属性
' 13.增加队长标签页类.页面_取域名 (),通过执行脚本取出框架页面对应的域名
' 14.增加队长标签页类.元素_置style属性 (),设置元素样式指定属性的值
' 15.增加队长标签页类.元素_取style属性 (),取元素样式指定属性的值
' 16.增加队长标签页类.元素_置style文本(),设置元素css规则文本
' 17.增加队长标签页类.元素_取style文本(),取元素css规则文本
' 18.增加队长标签页类.元素_取可视状态(),取元素可视状态
' 19.增加队长标签页类.元素_置可视状态(),置元素可视状态,隐藏不占位,其他元素可以补充
' 20.增加队长标签页类.元素_取可见状态(),取元素可见状态,和元素_取可视状态有点点区别
' 21.增加队长标签页类.元素_置可见状态(),置元素可见状态,隐藏占原来位置
' 22.增加队长标签页类.元素_删除节点(),删除指定元素节点
' 23.增加队长标签页类.元素_添加子节点(),给元素添子元素
' 24.增加队长标签页类.元素_是否禁止 (),判断元素是否是禁止状态
' 25.队长标签页类.元素_等待出现(),规定时间内等待元素出现
' 26.队长标签页类.元素_等待消失(),规定时间内等待元素消失
| | | 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.优化队长浏览器类.关闭浏览器(),采用协议提供命令更加优雅的关闭浏览器,并检测所有标签页是否关闭完毕 |
|