一种基于油品移动系统的自动化测试方法技术方案

技术编号:35901078 阅读:34 留言:0更新日期:2022-12-10 10:37
本发明专利技术公开了一种基于油品移动系统的自动化测试方法,油品移动系统通过web端发送命令至C端,从而通过C端控制分布式控制系统的设备工作,自动化测试方法具体包括:基于Python封装web端对分布式控制系统的设备位号和罐参数的写值接口;基于selenium进行封装;脚本初始化,基于RobotFramework根据业务场景管理测试用例;运行测试脚本;控制任务停止运行;基于Robot Framework分析订单和任务的运行结果、稳定性和监测油品移动系统软件之间的交互性能,以及,根据性能分析工具分析性能结果;本发明专利技术的一种基于油品移动系统的自动化测试方法,应用Python和Robot Framework把web端与C端结合起来,实现了油品移动系统的多种测试,降低了人力消耗,提升了测试效率,并且对交互部分的性能和稳定性进行测试。的性能和稳定性进行测试。的性能和稳定性进行测试。

【技术实现步骤摘要】
一种基于油品移动系统的自动化测试方法


[0001]本专利技术涉及一种油品移动系统性能测试技术应用领域,具体涉及一种基于油品移动系统的自动化测试方法。

技术介绍

[0002]在炼油石化行业中,油品移动系统(oil moving system,OMS)是用于实现原油及产物通过管道进行移动的系统,包括设备及状态管理、移动路径管理及驱动设备等。在执行油品移动任务前,OMS的任务系统会生成油品移动任务的路径;在任务运行过程中,路径上的设备需要按照类型、位置的不同,以一定规则做出运行或关闭动作;在运行过程中需要对设备状态进行监控,并在必要时执行紧急处理逻辑。运行阶段的控制规则需要根据现场的情况进行调整。
[0003]现有的OMS系统中的油品移动控制部分运行在分布式控制系统(Distributed Control System,DCS)中,油品移动系统的操作通常都是通过WEB端发送命令到C端,由C端控制监测设备的开关状态,返回状态至WEB端,因此整个操作涉及到多个软件,并且操作的流较长,业务场景很多。
[0004]目前对于油品移动系统的测试只能进行手工测试,例如使用Jmeter、loadrunner对单个软件进行压测,但是对于软件之间的交互部分的性能和稳定性无法测试。而且使用手动测试效率低下且漏测率高,缺少便捷的测试工具。

技术实现思路

[0005]本专利技术为了克服以上技术的不足,提供了一种基于油品移动系统的自动化测试方法,应用Python和Robot Framework把web端与C端结合起来,并使用性能监测工具分别监测各个服务器,从而实现了油品移动系统的多种测试,降低了人力消耗,大大提升了测试效率,并且对交互部分的性能和稳定性进行测试。
[0006]本专利技术克服其技术问题所采用的技术方案是:一种基于油品移动系统的自动化测试方法,所述油品移动系统至少包括web端和C端,所述web端发送命令至C端,从而通过C端控制分布式控制系统的设备工作,所述自动化测试方法具体包括:S1,基于Python封装web端对分布式控制系统的设备位号和罐参数的写值接口;S2,基于selenium进行新建订单的封装、订单审批的封装、新建任务的封装、任务执行的封装、子任务的封装和停止任务的封装;S3,脚本初始化,调用写值接口批量对分布式控制系统的设备位号和罐参数进行初始写值;S4,基于Robot Framework根据业务场景管理测试用例,包括调用封装的新建订单、封装的订单审批、封装的新建任务、封装的任务执行、封装的子任务和封装的停止任务,以及,根据业务场景调用写值接口控制分布式控制设备的工作状态;S5,运行测试脚本,并调用写值接口基于测试脚本对应的业务场景设置罐的模拟运行参数;S6,基于预设模拟运行参数阈值或预设任务循环时间或通过selenium模拟web端操作停止按钮,控制任务停止运行;S7,基于Robot Framework分析订单和任务的运行结果、稳定性和监测油品移动系统软件之间
的交互性能,以及,根据性能分析工具分析性能结果。
[0007]进一步的,步骤S5中调用写值接口并基于运行的业务设置罐的模拟运行参数,具体包括,根据业务场景不同对罐设置不同的模拟运行参数,所述模拟运行参数至少包括罐的液位流速的大小和方向。
[0008]通过罐的液位流速的大小和方向,模拟流入和流出,以及对应的液体流速。
[0009]进一步的,所述基于预设模拟运行参数阈值或预设任务循环时间或selenium模拟web端操作,控制任务停止运行,具体包括:若对业务场景的罐的液位达到预设模拟运行参数阈值,则任务停止运行;或者,若任务运行时间到达任务预设循环时间,则任务停止运行;或者,若通过selenium模拟web端操作停止按钮,控制任务停止运行。
[0010]进一步的,步骤S3脚本初始化,调用写值接口批量对分布式控制系统的设备位号和罐参数进行初始写值,具体包括:至少对DCS设备位号、罐的操作上下限、罐的液位,罐的模拟流速基于封装的写值接口进行初始写值。
[0011]进一步的,任务执行的封装至少包括选择路径、保存路径、下发、通管和启动。
[0012]进一步的,通管至少包括调用写值接口使任务主路径的手阀打开、泵出口手阀关闭和旁路经的手阀关闭。
[0013]进一步的,所述测试脚本还包括基于request调用接口在任务执行时获取当前任务当前的状态。
[0014]进一步的,所述获取任务当前的状态具体包括:若通管执行时,基于request调用接口判断任务主路径的手阀是否打开、泵出口手阀是否关闭和旁路经的手阀是否关闭,若任务主路径的手阀打开,泵出口手阀关闭,并且旁路经的手阀关闭,则继续执行通管,否则,调用写值接口使任务主路径的手阀打开、泵出口手阀关闭和旁路经的手阀关闭。
[0015]进一步的,所述获取任务当前的状态还包括通管执行前,判断手阀的共享状态,若手阀被其他任务占用,则手阀保持当前状态不变,直至任务结束。
[0016]进一步的,所述获取任务当前的状态具体包括:若启动执行时,基于request调用接口判断任务判断泵出入口是否都是手阀,泵出口手阀是否打开,若泵出入口都是手阀,要基于pyautogui对C端消息进行确认操作,确认成功后,打开泵出口阀,否则无法启动,并且泵出口手阀打开,则继续执行启动,否则,调用写值接口使泵出入口是都是手阀或/和打开泵出口手阀。
[0017]本专利技术的有益效果是:
[0018]1、应用Python+Robot Framework,结合WEB端与C端,通过自动化测试,使用性能检测工具监测各个服务器性能;
[0019]2、解决软件交互部分的性能和稳定性测试,进行冒烟测试、功能测试、性能测试、长期稳定性测试和回归测试,降低了人力消耗,大大提升了测试效率;
[0020]3、通过自动化模拟人工操作,可以执行更多业务场景,更好的保证软件质量;
[0021]4、对于不同的业务类型,自定义选择一些特殊的业务场景,我们可以用来进行冒烟测试和回归测试;
[0022]5、利用Robot Framework,我们可以编写多个业务用例场景,进行功能测试,例如一个收油业务,人工测试我们只会对几个罐进行收油任务,或者子任务,此方法,我们可以覆盖所有的罐进行主任务或是子任务;
[0023]6、利用多个Python+Robot Framework多个环境,循环不停的执行业务操作,我们可以模拟真实的环境,进行性能测试和长期稳定性测试。
附图说明
[0024]图1为本专利技术实施例的基于油品移动系统的自动化测试方法的流程图;
[0025]图2为本专利技术实施例的Robot Framework管理测试用例示意图;
[0026]图3为本专利技术实施例的结果分析示意图。
具体实施方式
[0027]为了便于本领域人员更好的理解本专利技术,下面结合附图和具体实施例对本专利技术做进一步详细说明,下述仅是示例性的不限定本专利技术的保护范围。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于油品移动系统的自动化测试方法,所述油品移动系统至少包括web端和C端,所述web端发送命令至C端,从而通过C端控制分布式控制系统的设备工作,其特征在于,所述自动化测试方法具体包括:S1,基于Python封装web端对分布式控制系统的设备位号和罐参数的写值接口;S2,基于selenium进行新建订单的封装、订单审批的封装、新建任务的封装、任务执行的封装、子任务的封装和停止任务的封装;S3,脚本初始化,调用写值接口批量对分布式控制系统的设备位号和罐参数进行初始写值;S4,基于Robot Framework根据业务场景管理测试用例,包括调用封装的新建订单、封装的订单审批、封装的新建任务、封装的任务执行、封装的子任务和封装的停止任务,以及,根据业务场景调用写值接口控制分布式控制设备的工作状态;S5,运行测试脚本,并调用写值接口基于测试脚本对应的业务场景设置罐的模拟运行参数;S6,基于预设模拟运行参数阈值或预设任务循环时间或通过selenium模拟web端操作停止按钮,控制任务停止运行;S7,基于Robot Framework分析订单和任务的运行结果、稳定性和监测油品移动系统软件之间的交互性能,以及,根据性能分析工具分析性能结果。2.根据权利要求1所述的基于油品移动系统的自动化测试方法,其特征在于,步骤S5中调用写值接口并基于运行的业务设置罐的模拟运行参数,具体包括,根据业务场景不同对罐设置不同的模拟运行参数,所述模拟运行参数至少包括罐的液位流速的大小和方向。3.根据权利要求2所述的基于油品移动系统的自动化测试方法,其特征在于,所述基于预设模拟运行参数阈值或预设任务循环时间或selenium模拟web端操作,控制任务停止运行,具体包括:若对业务场景的罐的液位达到预设模拟运行参数阈值,则任务停止运行;或者,若任务运行时间到达任务预设循环时间,则任务停止运行;或者,若通过selenium模拟web端操作停止按钮,控制任务停止运行。4.根据权利要求2...

【专利技术属性】
技术研发人员:刘鹏井毅吴燕军郑怡虹
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1