【selenium】ide录制二次开发
发布日期:2021-06-30 21:35:44 浏览次数:3 分类:技术文章

本文共 753 字,大约阅读时间需要 2 分钟。

UI平台计划引入录制功能模块,准备在开源项目中进行二次开发,经过需求和实现的比对,app录制在airtest的基础上二次开发,web录制在selenium ide的基础上二次开发

接下来主要说明selenium ide的二次开发方案

功能

首先看看selenium ide当前能够提供的功能模块

  • 录制
    点击、滚动、输入等事件均可以录制
    在这里插入图片描述
  • 编辑
    对元素定位和操作及描述进行二次编辑
    在这里插入图片描述
  • 断言
    在这里插入图片描述
  • 调试

支持回放和单点调试等

从功能模块上基本满足UI自动化平台web录制功能

导出脚本

在预研录制方案时,发现selenium ide 其实提供了到处脚本的功能

  • 导出

在这里插入图片描述

  • 代码文件

在这里插入图片描述

导出实现

代码导出以模块化方式构建,每种语言和测试框架都有自己的包含要导出代码的包。每个代码段都映射到Selenium IDE中的命令

在这里插入图片描述
代码导出的核心功能是生成特定于语言的字符串,其中最关键的是操作和元素定位策略

  1. 操作
  2. 操作执行
  3. 定位元素
  4. 定位元素策略

在这里插入图片描述

操作属性映射
在这里插入图片描述

开发方案

由于按照上面的方案进行开发,虽然可以实施但是工作量较大,研究selenium ide录制时现成的内部通信机制

  1. selenium 打开任何页面都会注入content-script/ record.js的文件,用于监听整个浏览器的事件,由于生成录制的数据
  2. record.js向页面中注入inject-script /gen-step.js
  3. record.js 被加载后 则会与chrome插件的background建立一个长连接
  4. 用户在录制操作后,record.js会将相应的数据发送给到backgroud.js

那么只需要:

  1. 维护一个ui自动化平台页面的发起链接的连接对象列表
  2. 当收到发送的录制数据后,将其转发给到ui自动化平台,平台只需要操作对应的redux数据即可

转载地址:https://lluozh.blog.csdn.net/article/details/108825166 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【jar】Java Runtime recognizes class file versions up to 52.0
下一篇:【jmeter】dubbo接口java.util.List<MyClassVo>参数

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月13日 16时03分38秒