目录
奇林监测平台WEB UI测试的视频介绍请点击:视频链接,该视频录制较早些,在WEB UI的录制、调试、自动化测试、性能测试的操作基本不变。现在平台已经增加了一些新功能,例如脚本用例管理。
不同项目组可以使用不同项目,或者同一项目组测试多个项目(多个版本),可通过项目管理实现。
管理员权限:支持添加、修改、删除项目;为项目分配用户;
普通用户:只能查看分配的项目,切换项目;
只有管理员权限才能添加、修改、删除用户
支持两级模块管理,每个脚本归属一个模块,直观管理测试用例/脚本
脚本包括有WEB UI脚本、HTTP协议脚本脚本
上传CSV文件到平台,然后在测试计划(自动化测试、性能/压力测试、接口/业务监控)里引用,确保自动化每次执行、甚至性能测试每个虚拟用户使用不同的参数值。
上图的1为窗口(即浏览器的标签),每个步骤都归属一个窗口
在脚本里支持通过窗口管理来修改窗口归属
如果步骤是属于某个iframe(录制自动标识,手动需要自己修改),手动修改窗口管理
注意:
1. 如果整个测试脚本永远只有一个窗口或者页面跳转后仍然只有一个窗口,则不需要关注窗口管理,平台自动处理
2. 建议通过录制来创建脚本,窗口自动生成,不需要修改,包括iframe窗口也自动生成。
图2为脚本的步骤管理,通过树形直观显示操作步骤。
树形节点支持添加、删除、复制、黏贴、拖拽
第一个步骤一般为url链接,即打开浏览器后打开的网页
1. URL链接:为浏览器地址栏的URL
2. 定位元素与点击:通过id, class, xpath等方式定位到元素后,进行下图的操作(点击、输入值、滚动条等操作)
右上角有个链接可以通过文档介绍如何定位元素
注意:
1.元素定位到后,在浏览器里模拟点击或设置值的操作,通过js操作元素,如果有些操作需要模拟鼠标点击,可以选择“定位元素内部相对位置”或者模拟鼠标点击
3. 定位元素内部相对位置:与“定位元素与点击”基本一样,只是通过定位元素后获取元素的大小与位置再模拟鼠标点击。
4. 执行js代码:如果平台提供的操作无法支持,用户可以自己写js代码;
js代码可以直接操作页面元素,或读取变量值;如果代码包含d.savePara("a","b")表示保存a=b到参数列表,参数a可以给后面步骤引用或者检查点引用。
注意: 如果执行的代码时间比较长,请在“其他设置”里设置“休眠时间”为相应的值。防止JS执行过程被终止而执行下一个步骤
执行js代码可以实现很多复杂场景,例如获取cookie值、获取页面变量、获取浏览器数据库里的变量等,然后调用d.savePara保存变量值;
另外,还可以模拟实现操作canvas、flash、以及其他特殊的元素
5. 模拟鼠标点击:调用系统鼠标事件,模拟鼠标点击屏幕位置(x,y像素)
6. 模拟键盘输入:调用系统键盘事件,模拟键盘输入
7. 开始循环:有些循环操作,如点击5月,点击6月,点击7月(即相似元素的操作),可以通过循环(参数化/数据驱动)来实现操作。
8. 结束循环:有开始循环就必须有结束循环。
9. 拖拽元素:支持将一个元素点击按住鼠标,然后拖拉到另一个元素里,或者是在一个元素里移动位置。
10. 上传文件:点击页面的上传按钮(该按钮需要通过元素定位方式定位),在弹出的文件框输入文件路径,然后确定。
11. 执行SQL语句:操作数据库,可以实现执行脚本前的数据准备(初始化状态)与执行脚本后删除无用数据(清除状态)
元素定位方式支持N种方式,不是单一的一种(如只通过id, class, xpath),因为只有一种时当版本发生变化可能导致脚本失败,维护脚本也成本高。
详细定位元素的介绍请点击:定位元素介绍说明
http://www.70testing.com/cloud/help/interface.htm
1、 执行条件:类似if else当参数变量为某个值时才执行步骤,否则不执行
2、 休眠时间:即点击步骤后,先休眠一定的时间(类似于sleeep),再自动判断步骤是否完成。一般不需要设置,因为平台支持自动判断步骤是否完成。
3、 调试暂停:在调试时生效,可以用来调试脚本过程动态修改脚本,例如元素变了,在调试过程通过ctrl+m把该元素调整正确。
4、 超时时间:步骤的超时时间
5、 等待元素:在一段时间内等待元素出现(类似selenium的等待元素出现)
6、 告警时间:步骤执行时间超过该时间则脚本执行结果显示告警。
7、 遍历点击:遍历点击页面的所有a标签。
8、 检测CPU:平台通过HTTP与CPU自动判断步骤是否完成,因为HTTP完成还可能页面在渲染(需要CPU),如果关闭,则不检测CPU。
请尽量用录制生成脚本,录制记录的信息全面,可以适应页面的变化,降低脚本维护难度。
详细操作的介绍请点击:录制说明
http://www.70testing.com/cloud/help/auto/recordUI.html
下面简单介绍,录制非常简单,按照平时的正常操作即可;添加检查点请按住Shift键(或者Alt键),然后移动鼠标
录制时在用户的电脑操作,因此需要启动执行器Agent
自动弹出浏览器,然后按平常操作即可。录制条会提示录制的信息
平台支持多种检查点,检查元素与图片建议通过录制时创建。
详细检查点的介绍请点击:定位元素介绍说明
http://www.70testing.com/cloud/help/auto/check_UI.htm
平台提供参数化(也称数据驱动)功能,即每次自动化次数或性能测试的虚拟用户发送的数据都不一样。当发送数据内容里面存在“{key}”符号时,平台自动将key值替换为对应的实际参数值,例如:
上图username、name都有大括号,表示需要在正常运行时替换成真实的值。
平台支持在脚本的“参数列表”里添加参数,也支持通过上传CSV文件实现参数化;
详细参数介绍请点击:参数使用说明
http://www.70testing.com/cloud/help/parameter.html
在实际业务中,可能下一个步骤需要依赖上一个步骤页面上的值,或者页面的变量值。
可以通过检查点或js实现将页面元素的文本(或属性值)、甚至全局变量或者cookie, 浏览器数据库的值获取到
详细操作参照检查点与执行JS代码
选择执行器,浏览器然后点击调试,调试前需要先保存脚本。
点击步骤名称可以查看步骤信息
点击HTTP网络可以查看HTTP交互时间与日志
查看CPU(浏览器进程,而不是整个操作系统)可以了解页面渲染的CPU,是否会出现死循环或者CPU使用很高(很高将导致用户操作卡)
点击左下角的“截图页面”查看截图,可以一目了然看到每个步骤是否正确。
脚本维护成本高是自动化测试的一个痛点,另外,版本持续变化导致脚本失效也是自动化成本高的原因。因此奇林监测平台实现了录制快速创建脚本(录制记录大量信息,最大程度支持元素随版本变化仍然可以定位到元素);同时支持调试脚本过程动态修改脚本(如果由于版本变化导致元素变化,调试过程修改可以快速修复脚本)。
详细介绍请点击:调试中修改脚本
http://www.70testing.com/cloud/help/auto/debugUI.html
选择测试脚本(一个测试计划同时支持一个或多个脚本),每个脚本支持多个接口;
选择执行器(支持多个执行器,例如多个地区,北京、上海、深圳等等)
点击查看报告
点击上图的
点击名称支持查看日志
点击HTTP查看该步骤的HTTP交互日志,下图为HTTP交互瀑布图,点击名称支持查看HTTP交互内容
查看该步骤的CPU曲线、吞吐量曲线;当前端存在死循环或者性能差时,CPU将比较高,需要调优
通过截图视图,可以一目了然看到多个截图的成功失败情况。点击“截图页面”
进入该脚本的历史报告界面,点击查看脚本历史,可查看某个脚本的历史运行报告
点击“曲线展示”,支持按执行器(分区域)查看,如果执行器分布在广东、北京、上海,可以查看不同区域的运行曲线
点击报告里某个步骤右边的查看该步骤历史运行情况
点击“曲线展示”,支持按执行器(分区域)查看,如果执行器分布在广东、北京、上海,可以查看不同区域的运行曲线
上图的曲线“圆点”支持查看该步骤所在的历史报告
通过截图视图,可以一目了然看到多个截图的成功失败情况,甚至查看该步骤的版本演变
6 性能/压力测试
选择一个测试脚本,选择参数文件(如果需要每个虚拟用户使用不同参数值,即数据驱动);
接着选择测试的浏览器,由于使用真实浏览器并发测试,一个操作系统打开的浏览器个数有限制(由于CPU、内存、带宽),因此建议每个操作系统运行的浏览器数不要太多;如果浏览器使用headless(无界面)可以更多浏览器数,因为无界面的浏览器占用资源比有界面要少很多,但测试脚本必须支持无界面(不能有模拟鼠标、模拟键盘等步骤);
然后需要选择执行器,支持多个执行器(确保每个浏览器的),按压力大小添加相应个数的执行器,执行器支持N个(上千个都没问题),执行器支持在不同地域(如上海、北京、广东)。
例如登陆后,点击某个操作(如秒杀),需要在秒杀前添加集合点
性能测试的并发模型介绍请点击:并发模型说明
http://www.70testing.com/cloud/help/model.html
下面只展示小部分图片:
服务器监控的介绍请点击:服务器监控说明
http://www.70testing.com/cloud/help/monitor.html
下面只展示小部分图片:
性能测试的报告分析介绍请点击:报告分析说明
http://www.70testing.com/cloud/help/analysis.html
下面只展示小部分分析图片:
7 UI页面监控
选择测试脚本(一个监控只能支持一个脚本),支持监控脚本里的一个或多个接口;
选择执行器(支持多个执行器,例如多个地区,北京、上海、深圳等等)
间隔时间默认1分钟,开始时间与结束时间范围。
上图的曲线“圆点”支持点击查看日志
接口失败或告警(例如时间超过阈值)将发送通知邮件