CN105446880A - 一种基于Linux图形界面的互联网彩票自助终端的自动测试方法 - Google Patents
一种基于Linux图形界面的互联网彩票自助终端的自动测试方法 Download PDFInfo
- Publication number
- CN105446880A CN105446880A CN201510816173.5A CN201510816173A CN105446880A CN 105446880 A CN105446880 A CN 105446880A CN 201510816173 A CN201510816173 A CN 201510816173A CN 105446880 A CN105446880 A CN 105446880A
- Authority
- CN
- China
- Prior art keywords
- sikuli
- graphical interfaces
- lottery self
- instrument
- automatic test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于计算机技术领域,具体涉及一种基于Linux图形界面的互联网彩票自助终端的自动测试方法。所述方法包括:在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素使其具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。本发明所述方法降低了脚本难度,大大降低对用户的编程能力的要求,明显缩短了测试所用时间,提高测试的准确性和效率。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种基于Linux图形界面的互联网彩票自助终端的自动测试方法。
背景技术
目前,在彩票终端技术领域,对彩票自助终端的测试一般比较繁琐,自动化测试方法需要大量的编程工作,虽然出现了GUI(图形用户界面),使用者只需要借助直观的按钮或其他视觉元素即可操作软件。但GUI的出现并没有给程序员带来便利,人们仍然需要借助代码来实现相应的功能。如果要让不同的软件相互配合,也同样要进行代码调用。在彩票技术领域,尤其是基于Linux图形界面的互联网彩票自助终端的技术领域,尚没有成熟的方法可用。
发明内容
本发明的目的是针对现有技术的不足,提供一种能节省大量人力和时间的基于Linux图形界面的互联网彩票自助终端的自动测试方法。
本发明解决问题的技术方案是:提供一种基于Linux图形界面的互联网彩票自助终端的自动测试方法,在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素使其具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。
进一步地,所述预先录制的图形界面的图形元素的属性信息包括图形的名称和图形中心的坐标。
进一步地,所述Sikuli工具获取彩票自助终端的图形信息,所述Sikuli工具通过截图的方式将图形元素保存为png格式的文件,并使用Python语言对png文件进行变量命名。其中,所得截图会通过矩阵变换函数CVMat被转换成OpenCv的使用对象。
进一步地,所述彩票自助终端配置有用于支持Sikuli工具的图形录制和识别操作的OpenCv(OpenSourceComputerVisionLibrary,基于开源的计算机视觉库)和Tesseract(一种开源的OCR图文识别工具)。
进一步地,所述Sikuli工具利用OpenCv和已经获取的图形信息和脚本,在目标区域中寻找匹配的图形。
进一步地,所述Sikuli工具在目标区域中寻找匹配的图形时采用图像相似度匹配方式,如存在相似度高的图片,能采用坐标方式作为替代方法。
进一步地,所述测试脚本对测试过程及测试结果进行记录并保存为日志文件。
进一步地,所述测试脚本对失败的用例进行分析,并给出失败的原因。
本发明的有益效果为:本发明所述方法降低了脚本难度,明显降低对测试人员编程能力的要求,缩短测试所用时间,提高测试的准确性。相比于现有技术中的手工操作测试,显著改善基于Linux图形界面的互联网彩票自助终端的测试效率。
附图说明
附图1是本发明所述基于Linux图形界面的互联网彩票自助终端的自动测试方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
如图1所示,本发明提供一种基于Linux图形界面的互联网彩票自助终端的自动测试方法,在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素使其具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。
所述预先录制的图形界面的图形元素的属性信息包括图形的名称和图形中心的坐标。
所述Sikuli工具获取彩票自助终端的图形信息,所述Sikuli工具通过截图的方式将图形元素保存为png格式的文件,并使用Python语言对png文件进行变量命名。其中,所得截图会通过矩阵变换函数CVMat被转换成OpenCv的使用对象。
所述彩票自助终端配置有用于支持Sikuli工具的图形录制和识别操作的OpenCv和Tesseract。
所述Sikuli工具利用OpenCv和已经获取的图形信息和脚本,在目标区域中寻找匹配的图形。
所述Sikuli工具在目标区域中寻找匹配的图形时采用图像相似度匹配方式,如存在相似度高的图片,采用坐标方式作为替代方法。
所述测试脚本对测试过程及测试结果进行记录并保存为日志文件。
所述测试脚本对失败的用例进行分析,并给出分析结果。
下面以基于Linux图形界面的互联网彩票自助终端的销售系统作为测试对象为例,进行进一步说明:
通过Sikuli工具获取互联网彩票自助终端的销售系统的图形信息,以png图片的方式保存,在这一过程中获取到了Sourceimage(源图像)和Templateimage(模板图像)以供测试脚本使用。
测试过程的操作序列保存为Python脚本文件,所述Python脚本文件调用上述保存的图形信息对销售系统进行测试。
Sikuli工具利用OpenCv和已经获取的图形信息和脚本,在目标区域中寻找匹配的图形,然后再对其进行相应的操作,以达到执行测试用例的目的。
最后,Python测试脚本会将测试过程及测试结果记录下来并保存为日志文件,以便进行问题分析和统计。
其中Sikuli工具获取图形元素的信息,是通过截图方式,使用JavaRobotclass方法,这些截图通过矩阵变换函数CVMat被转化成OpenCv使用对象。截图以png方式保存在.skl文件夹中,和Python脚本保存在一起,这些截图作为Python脚本中的变量,用于脚本执行中。
Python脚本部分,负责具体测试操作的执行,脚本程序模拟了人工的鼠标,键盘输入,结果判断等操作。例如,其中鼠标操作通过click(),即,左键单击;doubleClick(),即,双击;rightClick(),即,右击;wheel(),即,滚轮,等方法。其中click()模拟了鼠标左键单击的操作,doubleClick()模拟了鼠标双击操作,rightClick()模拟了鼠标右键单击的操作,wheel()模拟鼠标滚轮的操作。键盘输入操作是通过type()方法来实现。结果判断是通过find(),即,寻找;wait(),即,等待;exist(),即,“存在”这些方法来实现。另外Python脚本部分还会将测试结果记录下来,并输出为日志文件。
测试脚本的流程如下:
首先是通过exist(“彩票销售奖期”)方法来判定彩票销售奖期是否存在,程序会在彩票自助销售系统界面查找奖期倒计时的图片,如果找到匹配的图片,则奖期存在。如果没有找到匹配的图片,则判定奖期不存在,然后指定程序等待一段时间后再次查找奖期。
奖期存在的条件下,脚本程序继续向下运行,通过click()来选择要进行投注的彩票游戏玩法。如果当前界面没有此目标玩法,需要通过wheel(PSRML,WHEEL_DOWN|WHEEL_UP,steps)来上移或下移屏幕使所需玩法显示在当前屏幕上。WHEEL_DOWN|WHEEL_UP是用来控制鼠标滚轮上下移动,steps是滚轮移动的步数。
待选择彩票游戏玩法显示在当前界面后,通过click()选中玩法后,可以继续选择投注方式,比如单式、复式、胆拖等,然后继续通过click()方法选择投注号码,再用同样的方法选择倍数和追号,之后进行付款,此时彩票自助终端的销售系统会弹出是否投注成功消息框,这时会用到exists()方法,通过这个方法在当前屏幕寻找与“投注成功”图片相匹配的图形元素,如果成功找到则表示投注成功,则调用日志输出函数,输出相关消息。如果未找到相匹配的图形元素,也会调用日志输出函数,输出投注失败的消息及相关原因。
日志输出的相关函数,会记录当前执行用例所投注的彩票游戏玩法名称,投注时间,投注结果。投注成功则调用Pass方法,打印一条投注成功的记录。如果投注失败,调用Fail方法,Fail方法会分析当前屏幕给出的提示语,然后打印出失败的原因,失败的原因包括余额不足,计奖中,用户未登录等。
本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域技术人员可以想到的任何变形、改进、替换均落入本发明的保护范围。
Claims (8)
1.一种基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,在所述彩票自助终端上配置Sikuli工具,Sikuli工具预先录制图形界面的图形元素,以具有唯一标识,用Python语言编写测试脚本并运行,所述测试脚本调用预先录制的图形元素在目标界面中进行匹配和操作以模拟手工操作图形界面,测试结果以文本的方式输出。
2.根据权利要求1所述的基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,所述预先录制的图形界面的图形元素的属性信息包括图形的名称和图形中心的坐标。
3.根据权利要求1所述的基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,所述Sikuli工具获取彩票自助终端的图形信息,所述Sikuli工具通过截图的方式将图形元素保存为png格式的文件,并使用Python语言对png文件进行变量命名。
4.根据权利要求3所述的基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,所述彩票自助终端配置有用于支持Sikuli工具的图形录制和识别操作的OpenCv和Tesseract。
5.根据权利要求4所述的基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,所述Sikuli工具利用OpenCv和已经获取的图形信息和脚本,在目标区域中寻找匹配的图形。
6.根据权利要求5所述的基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,所述Sikuli工具在目标区域中寻找匹配的图形时采用图像相似度匹配方式。
7.根据权利要求1所述的基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,所述测试脚本对测试过程及测试结果进行记录并保存为日志文件。
8.根据权利要求1所述的基于Linux图形界面的互联网彩票自助终端的自动测试方法,其特征在于,所述测试脚本对执行失败的用例进行分析,并给出分析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510816173.5A CN105446880A (zh) | 2015-11-23 | 2015-11-23 | 一种基于Linux图形界面的互联网彩票自助终端的自动测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510816173.5A CN105446880A (zh) | 2015-11-23 | 2015-11-23 | 一种基于Linux图形界面的互联网彩票自助终端的自动测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105446880A true CN105446880A (zh) | 2016-03-30 |
Family
ID=55557109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510816173.5A Pending CN105446880A (zh) | 2015-11-23 | 2015-11-23 | 一种基于Linux图形界面的互联网彩票自助终端的自动测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446880A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733555A (zh) * | 2017-04-25 | 2018-11-02 | 中移信息技术有限公司 | 一种应用测试方法及装置 |
CN110727595A (zh) * | 2019-10-14 | 2020-01-24 | 北京智游网安科技有限公司 | 一种应用登录界面识别方法、智能终端及存储介质 |
CN113946519A (zh) * | 2021-11-10 | 2022-01-18 | 四川启睿克科技有限公司 | 一种ui自动化测试的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110197176A1 (en) * | 2010-02-08 | 2011-08-11 | Microsoft Corporation | Test Code Qualitative Evaluation |
CN103425575A (zh) * | 2012-05-25 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 一种测试方法和装置 |
CN104978175A (zh) * | 2014-04-09 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 基于Sikuli的操作信息封装方法及装置 |
-
2015
- 2015-11-23 CN CN201510816173.5A patent/CN105446880A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110197176A1 (en) * | 2010-02-08 | 2011-08-11 | Microsoft Corporation | Test Code Qualitative Evaluation |
CN103425575A (zh) * | 2012-05-25 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 一种测试方法和装置 |
CN104978175A (zh) * | 2014-04-09 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 基于Sikuli的操作信息封装方法及装置 |
Non-Patent Citations (1)
Title |
---|
吕敏: "基于Sikuli自动化测试框架的研究与实现", 《万方学位论文》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733555A (zh) * | 2017-04-25 | 2018-11-02 | 中移信息技术有限公司 | 一种应用测试方法及装置 |
CN110727595A (zh) * | 2019-10-14 | 2020-01-24 | 北京智游网安科技有限公司 | 一种应用登录界面识别方法、智能终端及存储介质 |
CN110727595B (zh) * | 2019-10-14 | 2023-09-05 | 北京智游网安科技有限公司 | 一种应用登录界面识别方法、智能终端及存储介质 |
CN113946519A (zh) * | 2021-11-10 | 2022-01-18 | 四川启睿克科技有限公司 | 一种ui自动化测试的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107862315B (zh) | 字幕提取方法、视频搜索方法、字幕分享方法及装置 | |
CN111686450B (zh) | 游戏的剧本生成及运行方法、装置、电子设备和存储介质 | |
CN109508298B (zh) | 图形化的脚本测试方法及系统 | |
CN106202285A (zh) | 搜索结果展示方法和装置 | |
CN104731971A (zh) | 一种校园个性化掌上服务及用户行为习惯分析的实现方法 | |
CN105451029B (zh) | 一种视频图像的处理方法及装置 | |
CN109462603A (zh) | 基于盲检测的声纹认证方法、设备、存储介质及装置 | |
CN109194689B (zh) | 异常行为识别方法、装置、服务器及存储介质 | |
CN107179827A (zh) | 一种金融设备的智能交互方法及系统 | |
CN108074571A (zh) | 增强现实设备的语音控制方法、系统及存储介质 | |
CN107945796A (zh) | 语音识别方法、装置、设备及计算机可读介质 | |
CN104951807A (zh) | 股市情绪的确定方法和装置 | |
CN105446880A (zh) | 一种基于Linux图形界面的互联网彩票自助终端的自动测试方法 | |
Wu et al. | An early evaluation of gpt-4v (ision) | |
CN110302536A (zh) | 一种基于交互式应用的对象检测方法及相关装置 | |
CN110349569A (zh) | 定制化产品语言模型的训练和识别方法及装置 | |
CN109815100B (zh) | 一种利用图像对比分析对叫号宝软件的行为监控方法 | |
CN114639152A (zh) | 基于人脸识别的多模态语音交互方法、装置、设备及介质 | |
CN110275820B (zh) | 页面兼容性测试方法、系统及设备 | |
Jacob et al. | A non-intrusive approach for 2d platform game design analysis based on provenance data extracted from game streaming | |
CN116578499B (zh) | 公共组件功能变更影响的智能化分析测试方法及其系统 | |
CN111199172A (zh) | 基于终端录屏的处理方法及装置、存储介质 | |
CN111242455A (zh) | 电子地图语音功能的评测方法、装置、电子设备及存储介质 | |
CN111479128A (zh) | 一种利用互联网进行农业种植技术推广的系统及方法 | |
CN107967216B (zh) | 代码检测方法和装置、设备、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |
|
RJ01 | Rejection of invention patent application after publication |