一种基于Linux图形界面的互联网彩票自助终端的自动测试方法技术

技术编号:13093367 阅读:59 留言:0更新日期:2016-03-30 20:11
本发明专利技术属于计算机技术领域,具体涉及一种基于Linux图形界面的互联网彩票自助终端的自动测试方法。所述方法包括:在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素使其具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。本发明专利技术所述方法降低了脚本难度,大大降低对用户的编程能力的要求,明显缩短了测试所用时间,提高测试的准确性和效率。

【技术实现步骤摘要】

本专利技术属于计算机
,具体涉及。
技术介绍
目前,在彩票终端
,对彩票自助终端的测试一般比较繁琐,自动化测试方法需要大量的编程工作,虽然出现了 GUI(图形用户界面),使用者只需要借助直观的按钮或其他视觉元素即可操作软件。但GUI的出现并没有给程序员带来便利,人们仍然需要借助代码来实现相应的功能。如果要让不同的软件相互配合,也同样要进行代码调用。在彩票
,尤其是基于Linux图形界面的互联网彩票自助终端的
,尚没有成熟的方法可用。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种能节省大量人力和时间的基于Linux图形界面的互联网彩票自助终端的自动测试方法。本专利技术解决问题的技术方案是:提供,在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素使其具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。进一步地,所述预先录制的图形界面的图形元素的属性信息包括图形的名称和图形中心的坐标。进一步地,所述Sikuli工具获取彩票自助终端的图形信息,所述Sikuli工具通过截图的方式将图形元素保存为png格式的文件,并使用Python语言对png文件进行变量命名。其中,所得截图会通过矩阵变换函数CVMat被转换成OpenCv的使用对象。进一步地,所述彩票自助终端配置有用于支持Sikuli工具的图形录制和识别操作的0penCv(0pen Source Computer Vis1n Library,基于开源的计算机视觉库)和Tesseract(—种开源的OCR图文识别工具)。进一步地,所述Sikuli工具利用OpenCv和已经获取的图形信息和脚本,在目标区域中寻找匹配的图形。进一步地,所述Sikuli工具在目标区域中寻找匹配的图形时采用图像相似度匹配方式,如存在相似度高的图片,能采用坐标方式作为替代方法。进一步地,所述测试脚本对测试过程及测试结果进行记录并保存为日志文件。进一步地,所述测试脚本对失败的用例进行分析,并给出失败的原因。本专利技术的有益效果为:本专利技术所述方法降低了脚本难度,明显降低对测试人员编程能力的要求,缩短测试所用时间,提高测试的准确性。相比于现有技术中的手工操作测试,显著改善基于Linux图形界面的互联网彩票自助终端的测试效率。【附图说明】附图1是本专利技术所述基于Linux图形界面的互联网彩票自助终端的自动测试方法的流程图。【具体实施方式】下面结合附图和具体实施例对本专利技术作进一步的说明。如图1所示,本专利技术提供,在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素使其具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。所述预先录制的图形界面的图形元素的属性信息包括图形的名称和图形中心的坐标。所述Sikuli工具获取彩票自助终端的图形信息,所述Sikuli工具通过截图的方式将图形元素保存为png格式的文件,并使用Python语言对png文件进行变量命名。其中,所得截图会通过矩阵变换函数CVMat被转换成OpenCv的使用对象。所述彩票自助终端配置有用于支持Sikuli工具的图形录制和识别操作的OpenCv和Tesseract。所述Sikuli工具利用OpenCv和已经获取的图形信息和脚本,在目标区域中寻找匹配的图形。所述Sikuli工具在目标区域中寻找匹配的图形时采用图像相似度匹配方式,如存在相似度高的图片,采用坐标方式作为替代方法。所述测试脚本对测试过程及测试结果进行记录并保存为日志文件。所述测试脚本对失败的用例进行分析,并给出分析结果。下面以基于Linux图形界面的互联网彩票自助终端的销售系统作为测试对象为例,进行进一步说明:通过Sikuli工具获取互联网彩票自助终端的销售系统的图形信息,以png图片的方式保存,在这一过程中获取到了Source image(源图像)和Template image(模板图像)以供测试脚本使用。测试过程的操作序列保存为Python脚本文件,所述Python脚本文件调用上述保存的图形信息对销售系统进行测试。Sikuli工具利用OpenCv和已经获取的图形信息和脚本,在目标区域中寻找匹配的图形,然后再对其进行相应的操作,以达到执行测试用例的目的。最后,Python测试脚本会将测试过程及测试结果记录下来并保存为日志文件,以便进行问题分析和统计。其中Sikuli工具获取图形元素的信息,是通过截图方式,使用Java Robot class方法,这些截图通过矩阵变换函数CVMat被转化成OpenCv使用对象。截图以png方式保存在? ski文件夹中,和Python脚本保存在一起,这些截图作为Python脚本中的变量,用于脚本执行中。Python脚本部分,负责具体测试操作的执行,脚本程序模拟了人工的鼠标,键盘输入,结果判断等操作。例如,其中鼠标操作通过click(),即,左键单击;doUbleCliCk(),gp,双击;rightClick(),即,右击;wheel (),即,滚轮,等方法。其中click()模拟了鼠标左键单击的操作,doubleClick()模拟了鼠标双击操作,rightClick()模拟了鼠标右键单击的操作,wheelO模拟鼠标滚轮的操作。键盘输入操作是通过typeO方法来实现。结果判断是通过find(),即,寻找;wait(),即,等待;exist(),即,“存在”这些方法来实现。另外Python脚本部分还会将测试结果记录下来,并输出为日志文件。测试脚本的流程如下:首先是通过eXist(“彩票销售奖期”)方法来判定彩票销售奖期是否存在,程序会在彩票自助销售系统界面查找奖期倒计时的图片,如果找到匹配的图片,则奖期存在。如果没有找到匹配的图片,则判定奖期不存在,然后指定程序等待一段时间后再次查找奖期。奖期存在的条件下,脚本程序继续向下运行,通过clickO来选择要进行投注的彩票游戏玩法。如果当前界面没有此目标玩法,需要通过wheel (PSRML,WHEEL_D0WN | WHEEL_UP,steps)来上移或下移屏幕使所需玩法显示在当前屏幕上JHEELDOWN | WHEEL_UP是用来控制鼠标滚轮上下移动,steps是滚轮移动的步数。待选择彩票游戏玩法显示在当前界面后,通过click()选中玩法后,可以继续选择投注方式,比如单式、复式、胆拖等,然后继续通过click()方法选择投注号码,再用同样的方法选择倍数和追号,之后进行付款,此时彩票自助终端的销售系统会弹出是否投注成功消息框,这时会用到existsO方法,通过这个方法在当前屏幕寻找与“投注成功”图片相匹配的图形元素,如果成功找到则表示投注成功,则调用日志输出函数,输出相关消息。如果未找到相匹配的图形元素,也会调用日志输出函数,输出投注失败的消息及相关原因。日志输出的相关函数,会记录当前执行用例所投注的彩票游戏玩法名称,投注时间,投注结果。投注成功则调用Pass方法,打印一条投注成功的本文档来自技高网...

【技术保护点】
一种基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素,以具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。

【技术特征摘要】

【专利技术属性】
技术研发人员:齐红川赵洁
申请(专利权)人:北京思德泰科科技发展有限公司
类型:发明
国别省市:北京;11

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

1