描述 |
selenium
|
kylinTOP | 平台优势 |
录制 |
Selenium IDE支持录制(只支持firefox),但录制生成的代码还需要修改,且不好维护。目前官网已不再更新版本和维护。
|
录制功能强大且方便使用,支持所有浏览器。无干扰录制,按平时操作即可录制,另外支持检查点录制,支持图片识别录制。
|
通过录制可以减少时间成本,降低维护成本,且提高脚本精确度。
|
调试 |
简单调试,靠代码能力
|
1. 支持调试过程随时修改脚本(增删改);
2. 支持调试过程任意跳到某个步骤重新开始执行; 3. 调试过程可随时暂停,并修改脚本或跳步骤 |
调试方便,可随时修改脚本继续调试,提升测试效率。
|
元素定位 |
一般是单一定位方式,因为写多种定位的代码时间成本高,且难维护
|
支持同时多种定位方式组合定位(录制生成,无需人工),例如组合包括id, class, xpath, 元素属性,甚至借助其他元素,例如父子关系、上下左右的元素关联,只要其中一种方式符合即可定位到元素。
多种组合是通过录制自动生成,并非手动编辑,详细点击了解 |
多种组合定位比单一定位更加稳定,且可适应元素变化,版本变化,例如,5种组合方式,其中一种变了还剩下4种可以定位到元素。
UI脚本因为变化导致维护成本高,代码维护难是自动化测试痛点,通过多种组合可以减少脚本维护成本 |
图片识别 |
不支持
|
支持录制截图生成图片定位元素,支持图片识别出元素位置并点击
|
对于一些比较难定位的元素、或者canvas(地图、曲线、柱形图、饼图等报表组件), silverlight, flex, map等元素可以通过图片识别实现点击。因为这些元素对selenium而言只是一个完整元素,无法判断里面内容
|
判断步骤是否完成 |
支持通过等待元素出现或消失判断步骤;支持通过sleep强制休眠。
在页面异步元素多(目前前端技术基本使用异步加载)或者canvas(地图、曲线、柱形图、饼图等报表组件), silverlight, flex, map将无法判断步骤完成,例如地图、曲线canvas是一个整体,元素出现时里面内容可能还在请求;如果通过sleep则不稳定,且无法得到步骤执行时间,如果步骤执行时间长也是一个bug,因为会影响用户体验; |
智能等待步骤完成,通过监控http请求,页面dom事件,cpu与检查元素实现智能判断步骤是否执行完成。
详细点击了解,查看页面的第三与第四点 |
如何判断步骤完成是UI自动化测试必不可缺的重要部分。
kylinTOP通过智能等待可以得到步骤的详细完成时间,http交互日志与时间,页面加载时间,CPU使用情况,通过智能等待更加稳定,而且通过步骤时间可以判断步骤是否时间合理,用户体验好,而且输出信息可以帮助调优或者定位问题 因此,可以支持很多复杂页面,包括大数据、智能报表、地图 |
检查点 |
支持检查元素,支持图片检查(得写代码,且难度大)
|
支持检查元素、图片相似度检查、HTTP交互内容检查、数据库检查、JS读取浏览器信息然后检查
详细点击了解 |
检查点通过录制很方便高效添加,维护方便;检查功能更多
|
mock |
不支持
|
支持Mock功能,拦截http请求伪造响应,可以构造各种响应结果实现测试;可以重现失败场景(回访时已经记录了失败的HTTP交互日志,伪造失败响应)
|
在接口未完成前,测试人员可以提前伪造接口响应写好脚本。重现失败场景(有些可能是概率性问题),方便开发定位解决问题
|
使用技术 |
使用webdriver
|
不依赖webdriver,后Selenium时代,直接在浏览器中使用js实现元素智能定位;也支持图片识别和模拟鼠标键盘
|
更稳定、更精确
|
企业平台 |
无
|
支持项目管理、模块管理、脚本用例管理、用户管理、参数文件管理;支持多次运行报告历史对比、单个步骤多次运行历史对比、单个接口多次运行历史对比
|
企业级管理,使用更方便,功能更强大
|
性能测试 |
无
|
支持真实浏览器并发性能测试;支持模拟HTTP协议(类似loadrunner)性能测试;
|
|
接口测试 |
无
|
支持HTTP接口、RPC接口测试与监控
|