seleniumide录制二次开发

Posted sysu_lluozh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了seleniumide录制二次开发相关的知识,希望对你有一定的参考价值。

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

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

功能

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

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

支持回放和单点调试等

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

导出脚本

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

  • 导出

  • 代码文件

导出实现

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

代码导出的核心功能是生成特定于语言的字符串,其中最关键的是操作和元素定位策略

  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数据即可

以上是关于seleniumide录制二次开发的主要内容,如果未能解决你的问题,请参考以下文章

selenium的使用——软件测试第二次实验

软件测试第二次实验Selenium 的应用

SeleniumIDE从0到1 (Selenium IDE 录制)

软件测试第二次上机实验——Selenium的使用

使用seleniumIDE录制脚本后,运行时总是在selectFrame卡住怎么解决?

软件测试之Selenium IDE