CN113157554A - 一种软件自动化做题测试方法以及相关设备 - Google Patents

一种软件自动化做题测试方法以及相关设备 Download PDF

Info

Publication number
CN113157554A
CN113157554A CN202110191059.3A CN202110191059A CN113157554A CN 113157554 A CN113157554 A CN 113157554A CN 202110191059 A CN202110191059 A CN 202110191059A CN 113157554 A CN113157554 A CN 113157554A
Authority
CN
China
Prior art keywords
target
question
option
answer
application program
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
Application number
CN202110191059.3A
Other languages
English (en)
Inventor
姜英豪
朱星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Mucang Technology Co Ltd
Original Assignee
Wuhan Mucang Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Mucang Technology Co Ltd filed Critical Wuhan Mucang Technology Co Ltd
Priority to CN202110191059.3A priority Critical patent/CN113157554A/zh
Publication of CN113157554A publication Critical patent/CN113157554A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种软件自动化做题测试方法及相关设备,可以减少了软件测试人员的学习成本,提高了软件测试人员的测试效率。该方法包括:配置目标应用程序初始运行环境;导入所述目标应用程序的关系型数据库;通过光标方法执行目标结构化查询语言SQL语句,以获取所述目标SQL语句对应的数值答案;根据所述数值答案判断所述目标题目对应的选项中是否存在与所述数值答案对应的目标选项;若是,则从所述目标题目对应的选项中定位所述目标选项;判断所述目标题目的题干文本信息中是否包含特定标签文本;若是,则根据所述特定标签文本以及所述目标选项执行相应的操作,以得到目标结果。

Description

一种软件自动化做题测试方法以及相关设备
技术领域
本发明涉及软件测试领域,尤其涉及一种软件自动化做题测试方法以及 相关设备。
背景技术
目前多数同类型的自动化脚本,需要搭建自动化项目,按层级分成进行 相关的配置,且通用组件和模块调用还需标明备注,具有一定的学习成本和 维护成本,不适合简单的测试功能使用。
发明内容
本发明实施例提供了一种软件自动化做题测试方法及相关设备,可以提 高软件测试的效率,同时提高测试人员的工作效率。
本发明实施例的第一方面提供了一种软件自动化做题测试方法,该方法 包括:
配置目标应用程序初始运行环境;
导入所述目标应用程序的关系型数据库;
通过光标方法执行目标结构化查询语言SQL语句,以获取所述目标SQL 语句对应的数值答案,所述目标SQL语句为当前执行的目标题目对应的SQL 语句,所述光标方法与所述关系型数据库具有关联关系;
根据所述数值答案判断所述目标题目对应的选项中是否存在与所述数值 答案对应的目标选项;
若所述目标题目对应的选项中包含所述目标选项,则从所述目标题目对 应的选项中定位所述目标选项;
判断所述目标题目的题干文本信息中是否包含特定标签文本;
若所述目标题目的题干文本信息中包含所述特定标签文本,则根据所述 特定标签文本以及所述目标选项执行相应的操作,以得到目标结果。
可选地,所述配置目标应用程序初始运行环境包括:
安装目标测试框架的运行环境,所述目标测试框架与所述目标应用程序 相对应;
导入所述目标测试框架的协议标准;
配置所述目标应用程序对应的系统版本、所述目标应用程序的启动项以 及所述目标应用程序的可视化界面。
可选地,所述通过光标方法执行目标结构化查询语言SQL语句对应的操 作,以获取所述目标SQL语句对应数值答案包括:
通过所述关系型数据库的连接将获取到的数据库文件导入数据库,所述 数据库中存储有包括所述目标题目在内的多个题目;
根据所述目标题目的题干文本信息生成所述目标SQL语句;
基于所述光标方法执行所述目标SQL语句进行答案查询,以得到所述目 标SQL语句对应的数值答案。
可选地,所述特定标签文本包括单选、多选或判断,所述根据所述特定 标签文本以及所述目标选项执行相应的操作,以得到目标结果包括:
根据所述单选对所述目标选项执行单项选择操作,以得到所述目标结果;
或,
根据所述多选对所述目标选项执行多项选择操作,以得到所述目标结果;
或,
根据所述判断对所述目标选项执行判断操作,以得到所述目标结果。
可选地,所述方法包括:
将所述目标结果进行展示。
本申请实施例第二方面提供了一种软件自动化做题测试装置,包括:
配置单元,用于配置目标应用程序初始运行环境;
导入单元,用于导入所述目标应用程序的关系型数据库;
执行单元,用于通过光标方法执行目标结构化查询语言SQL语句,以获 取所述目标SQL语句对应的数值答案,所述目标SQL语句为当前执行的目标 题目对应的SQL语句,所述光标方法与所述关系型数据库具有关联关系;
判断单元,用于根据所述数值答案判断所述目标题目对应的选项中是否 存在与所述数值答案对应的目标选项;
定位单元,用于若所述目标题目对应的选项中包含所述目标选项,则从 所述目标题目对应的选项中定位所述目标选项;
所述判断单元,还用于判断所述目标题目的题干文本信息中是否包含特 定标签文本;
确定单元,用于若所述目标题目的题干文本信息中包含所述特定标签文 本,则根据所述特定标签文本以及所述目标选项执行相应的操作,以得到目 标结果。
可选地,所述配置单元具体用于:
安装目标测试框架的运行环境,所述目标测试框架与所述目标应用程序 相对应;
导入所述目标测试框架的协议标准;
配置所述目标应用程序对应的系统版本、所述目标应用程序的启动项以 及所述目标应用程序的可视化界面。
可选地,所述执行单元具体用于:
通过所述关系型数据库的连接将获取到的数据库文件导入数据库,所述 数据库中存储有包括所述目标题目在内的多个题目;
根据所述目标题目的题干文本信息生成所述目标SQL语句;
基于所述光标方法执行所述目标SQL语句进行答案查询,以得到所述目 标SQL语句对应的数值答案。
可选地,所述特定标签文本包括单选、多选或判断,所述确定单元具体 用于:
根据所述单选对所述目标选项执行单项选择操作,以得到所述目标结果;
或,
根据所述多选对所述目标选项执行多项选择操作,以得到所述目标结果;
或,
根据所述判断对所述目标选项执行判断操作,以得到所述目标结果。
可选地,所述装置还包括:
展示单元,用于将所述目标结果进行展示。
本发明实施例第三方面提供了一种电子设备,包括存储器、处理器,所 述处理器用于执行存储器中存储的计算机管理类程序时实现如上述第一方面 所述的软件自动化做题测试方法的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计 算机管理类程序,所述计算机管理类程序被处理器执行时实现如上述第一方 面所述的软件自动化做题测试方法的步骤。
综上所述,可以看出,本发明提供的实施例中,软件自动化做题测试装 置可以导入与目标应用程序对应的测试框架及相关的驱动配置,再导入对应 的关联性数据库,方便进行db文件(数据库文件)的操作,通过光标方法执 行目标题目的sql语句获取到数值答案,再进行与比较判断目标题目的数值 答案是否存在与目标题目的答案选项中,若是,则继续判断目标题目的题干 信息中是否包含特定标签文本进行选择答案做题,最终得到做题结果。这样 在对软件进行自动化测试时,不需要花太多学习时间,只需要一键运行,减少了软件测试人员的学习成本,大大提高了软件测试人员的测试效率。
附图说明
图1为本发明实施例提供的一种软件自动化做题测试方法的流程示意 图;
图2为本发明实施例提供的一种软件自动化做题测试装置的虚拟结构示 意图;
图3为本发明实施例提供的一种软件自动化做题测试设备的硬件结构示 意图;
图4为本发明实施例提供的一种电子设备的实施例示意图;
图5为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
具体实施方式
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第 二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必 用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可 以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的 顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于 覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、 产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地 列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面将 结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的 实施例。
下面从软件自动化做题测试装置的角度对软件自动化做题测试方法进行 说明,该软件自动化做题测试装置可以为服务器,也可以为服务器中的服务 单元。
请参阅图1,图1为本发明实施例提供的软件自动化做题测试方法的一个 实施例示意图,该软件自动化做题测试方法包括:
101、配置目标应用程序初始运行环境。
本实施例中,软件自动化做题测试装置在对目标应用程序进行测试之 前,可以首先配置目标应用程序初始运行环境。具体的,可以安装目标测试 框架的框架协议,该目标测试框架与目标应用程序相对应,该目标应用程序 例如可以为“驾考学堂”,该目标测试框架例如可以为Appium,之后导入目 标测试框架的协议标准,并配置目标应用程序对应的系统版本、目标应用程 序的启动项以及目标应用程序的可视化界面。以目标应用程序为“驾考学 堂”,目标测试框架为Appium为例进行说明,也就是说,软件自动化做题测 试装置可以首先安装Appium-python-Client环境,导入appium的 webdriver,并配置“驾考学堂”对应的系统版本(如果是安卓系统,则配置 安卓系统的系统版本,如果是IOS系统,则配置IOS系统的系统版本)、“驾 考学堂”的启动项和“驾考学堂”的可视化界面(Activity)。
需要说明的是,Appium是一个自动化测试开源工具,支持iOS平台和 Android平台上的原生应用、web应用和混合应用;“移动原生应用”是指 那些用IOS或者Android SDK写的应用程序(Application,App);“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和 Android上的Chrome);“混合应用”是指原生代码封装网页视图——原生 代码和web内容交互。比如,像Phonegap,可以帮助开发者使用网页技 术开发应用,然后用原生代码封装,这些就是混合应用。Appium允许测试人 员在不同的平台(IOS,Android)使用同一套API来写自动化测试脚本,这 样大大增加了IOS和Android测试套件间代码的复用性。下面以代码的形式 来对配置目标应用程序的运行环境以及启动目标应用程序进行说明:
from appium import webdriver#导入appium的webdriver方法类
import sqlite3#导入sqlite3库
print("开始")
desired_caps={}
desired_caps['platformName']='Android'#系统
desired_caps['platformVersion']='10'#系统版本
desired_caps['deviceName']='SWF6EILZGIVCDMTS'#设备名字SWF6EILZGIVCDMTS 64bb3519
desired_caps['automationName']='uiautomator2'#驱动
desired_caps['appPackage']='cn.mucang.android.jkxt'#需 要打开的报名
desired_caps['appActivity']= 'cn.jiakao.android.startup.SplashActivity'#打开APP的第一个 activity
desired_caps['unicodeKeyboard']='True'#使用unicodeKeyboard 的编码方式来发送字符串
desired_caps['resetKeyboard']='True'#将键盘给隐藏起来
desired_caps['noReset']='True'#启动app时不要清除app 里的原有的数据
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)#启动服务
driver.implicitly_wait(10)#显性等待时间10秒(10秒内有结果就 返回)。
还需要说明的是,上述以目标测试框架为Appium为例进行说明,当然也 还可以包括其他的测试框架,例如selenium、Robot Framework、 UIautomater、Robotium、QTP、requests以及httprunner等测试框架,具体 不做限定,只要能完成对软件自动化做题的测试即可。
102、导入目标应用数据的关系型数据库。
本实施例中,软件自动化做题测试装置可以直接导入目标应用程序的关 系型数据库。由于Python3中内置SQLite3环境,因此可以不用进行安装, 直接导入SQLite3。可以理解的是,SQLite是一个软件库,实现了自给自足 的、无服务器的、零配置的、事务性的SQL数据库引擎。
103、通过光标方法执行目标结构化查询语言SQL语句,以获取目标SQL 语句对应的数值答案。
本实施例中,软件自动化做题测试装置在导入SQLite3之后,引用cursor 方法,一个cursor就是一个光标、游标,通过cursor方法执行目标SQL语 句的相关操作,就可以获取到目标题目对应的题库表的字段数据,也即数值 答案,其中,该目标SQL语句为当前执行的目标题目对应的SQL语句,该光 标方法与关系型数据库具有关联关系。
一个实施例中,软件自动化做题测试装置通过光标方法执行目标结构化 查询语言SQL语句对应的操作,以获取所述目标SQL语句对应数值答案包括:
通过所述关系型数据库的连接将获取到的数据库文件导入数据库,所述 数据库中存储有包括所述目标题目在内的多个题目;
根据所述目标题目的题干文本信息生成所述目标SQL语句;
基于所述光标方法执行所述目标SQL语句进行答案查询,以得到所述目 标SQL语句对应的数值答案。
本实施例中,软件自动化做题测试装置可以通过SQLite3.connect()将 获取到的db文件导入数据库,该数据库中存储有包括目标题目在内的多个题 目,之后定位目标题目的题干文本信息,并将目标题目的题干文本信息转化 为字符串拼接传入SQL语句,最后编写对应的SQL语句进行目标题目的答案 查询,最终得到目标题目对应的数值答案。可以理解的是,软件自动化做题 测试装置还可以在将db文件导入数据库之前for循环自定义做题次数;下面 通过代码对获取数值答案进行说明:
el1=driver.find_element_by_android_uiautomator('text("练习 ")').click()#查找到“练习”tab模块入口再点击一下进入
driver.implicitly_wait(10)
el2=driver.find_element_by_android_uiautomator('text("顺序练 习")').click()#查找到“顺序练习”模块入口再点击一下进入
e22=driver.find_element_by_android_uiautomator('text("开始考 试")').click()#查找到“开始考试”文本模块入口再点击一下进入考试 driver.implicitly_wait(10)
el3=driver.find_element_by_id("cn.mucang.android.jkxt:id/conte nt")#定位到题干信息
for l inrange(0,100):#通过for循环设置做题次数
el3=driver.find_element_by_id("cn.mucang.android.jkxt:id/conte nt")#定位题干信息
driver.implicitly_wait(10)
el4=el3.text.split('题')[1]#将题干信息中的“题”分割出来
el6=el4.split('\n')[0]#分割题目标签类型,只去“单选”或“多 选”或“判断”
print(el6)#在控制台打印出题干信息是否为自己想要的信息
conn=sqlite3.connect("C:\question_18.db")#导入数据库
cursor=conn.cursor()#利用游标去操作数据库
sql=”'select answer from t_question where question=”' #explain是题目解析styl是题目类型answer是答案question文本信息
bb=”'"%s"”'%el6#将题干信息传入到sql语句里面进行查询
gg=”””
cursor.execute(sql+bb)#执行sql语句查询出该题目的数值答案
result=cursor.fetchall()#通过fetchall得到一个二维元组赋值给 result。
104、根据数值答案判断目标题目对应的选项中是否存在与数值答案对应 的目标选项,若是,则执行步骤105。
本实施例中,软件自动化做题测试装置在得到目标题目对应的数值答案 之后,可以根据数值答案判断目标题目对应的选项中是否存在与数值答案对 应的目标选项,若是,则执行步骤105。也就是说,软件自动化做题测试装置 在得到目标题目的数值答案,通过fetchall得到一个二维元组赋值给result, 之后通过for循环将result二维元组去掉,得到数值信息,在通过双重for 循环取出二进制数值答案,将这个二进制数值答案进行与比较以判断出目标 题目的答案选项中是否存在与该二进制数值答案相对应的目标选项,若是, 则执行步骤105。
105、从目标题目的选项中定位目标选项。
本实施例中,当软件自动化做题测试装置确定目标题目对应的选项中存 在与二进制答案数值相对应的目标选项之后,可以从目标题目对应的选项中 定位目标选项,具体的可以通过appium的uiautomator方法查找到目标选项 进行做题。
106、判断目标题目的题干文本信息中是否包含特定标签文本,若是,则 执行步骤107。
本实施例中,当软件自动化做题测试装置可以判断目标题目的题干文本 信息中是否包含特定标签文本,若是,则执行步骤107。也就是说,当软件自 动化做题测试装置可以判断目标题目的题干文本信息中是否包括“单选”、“多 选”或“判断”等特定标签文本,如果目标题目的题干信息中包括“单选”、 “多选”或“判断”,则执行步骤107。
107、根据特定标签文本以及目标选项执行相应的操作,以得到目标结果。
本实施例中,软件自动化做题测试装置在确定目标题目的题干文本信息 中包含特定标签文本之后,可以根据该特定标签文本以及目标选项执行相应 的操作,例如包含“单选”标签文本,则根据单选对目标选项执行单项选择 操作,以得到目标结果;包含“多选”标签文本,则根据多选对目标选项执 行多项选择操作,以得到目标结果;包含“判断”标签文本,则根据判断对 所述目标选项执行判断操作,以得到目标结果。也就是说,可以根据特定标 签文本对目标选项进行选择操作,之后等待程序运行完毕,点击确定答案, 得到目标结果。下面通过代码对题干文本信息中特定标签文本的题目的选项 的操作进行说明:
#print(result)
for aa in result:#通过for循环把result二维元组去掉,只得到数 值信息
for bb in aa:
answer=bb#双重for循环取出二进制答案值再赋值给answer cc=["单选题","多选题","判断题"]#单独写出一个列表存放"单 选题","多选题","判断题"便于后面用于判断题干信息是否包含这些题目 类型#标签
if16&answer==16:#通过if判断出从数据库取出来的数值答案与现 有的数值是否存在包含关系(如16与答案数值比较时是否answer包含16)
el56=
driver.find_element_by_android_uiautomator('text("A")').click()
#如果answer包含16,那么就去题目选项中去寻找“A”选项
driver.implicitly_wait(10)
if32&answer==32:#通过if判断出从数据库取出来的数值答案与现有 的数值是否存在包含关系(如32与答案数值比较时是否answer包含32)
el57=driver.find_element_by_android_uiautomator('text("B")').c lick()#如果answer包含32,那么就去题目选项中去寻找“B”选项
driver.implicitly_wait(10)
if 64&answer==64:#通过if判断出从数据库取出来的数值答案与现有 的数值是否存在包含关系(如64与答案数值比较时是否answer包含64)
el58=driver.find_element_by_android_uiautomator('text("C")').c lick()#如果answer包含32,那么就去题目选项中去寻找“C”选项
driver.implicitly_wait(10)
if 128&answer==128:#通过if判断出从数据库取出来的数值答案与现 有的数值是否存在包含关系(如128与答案数值比较时是否answer包含128)
el59=driver.find_element_by_android_uiautomator('text("D")').c lick()#如果answer包含32,那么就去题目选项中去寻找“D”选项
driver.implicitly_wait(10)
if cc[1]in el3.text:#通过if判断出cc列表里“多选题”是否被 包含到题干信息里面
el60=driver.find_element_by_android_uiautomator('text("确认 答案")').click()#如果,题干信息包含”多选题“标签,那么就去页 面寻找“确认答案”按钮完成答题
driver.implicitly_wait(10)。
需要说明的是,软件自动化做题测试装置在得到目标结果之后,还可以 将目标结果进行展示,以使得该测试人员可以随时查看相应的结果。
需要说明的是,上述的答题场景按照分数多少来重新设置答题场景,也 可以重新给其他做题页面入口进行随机做题场景,也可以按照题目错误率高 或低进行做题场景的设置,具体不做限定。
综上所述,可以看出,本发明提供的实施例中,软件自动化做题测试装 置可以导入与目标应用程序对应的测试框架及相关的驱动配置,再导入对应 的关联性数据库,方便进行db文件(数据库文件)的操作,通过光标方法执 行目标题目的sql语句获取到数值答案,再进行与比较判断目标题目的数值 答案是否存在与目标题目的答案选项中,若是,则继续判断目标题目的题干 信息中是否包含特定标签文本进行选择答案做题,最终得到做题结果。这样 在对软件进行自动化测试时,不需要花太多学习时间,只需要一键运行,减少了软件测试人员的学习成本,大大提高了软件测试人员的测试效率。
上面对本发明实施例中软件自动化做题测试方法进行了描述,下面对本 发明实施例中的软件自动化做题测试装置进行描述。
请参阅图2,本发明实施例中软件自动化做题测试装置的虚拟结构示意 图,该软件自动化做题测试装置200包括:
配置单元201,用于配置目标应用程序初始运行环境;
导入单元202,用于导入所述目标应用程序的关系型数据库;
执行单元203,用于通过光标方法执行目标结构化查询语言SQL语句,以 获取所述目标SQL语句对应的数值答案,所述目标SQL语句为当前执行的目 标题目对应的SQL语句,所述光标方法与所述关系型数据库具有关联关系;
判断单元204,用于根据所述数值答案判断所述目标题目对应的选项中是 否存在与所述数值答案对应的目标选项;
定位单元205,用于若所述目标题目对应的选项中包含所述目标选项,则 从所述目标题目对应的选项中定位所述目标选项;
所述判断单元204,还用于判断所述目标题目的题干文本信息中是否包含 特定标签文本;
确定单元206,用于若所述目标题目的题干文本信息中包含所述特定标签 文本,则根据所述特定标签文本以及所述目标选项执行相应的操作,以得到 目标结果。
可选地,所述配置单元201具体用于:
安装目标测试框架的运行环境,所述目标测试框架与所述目标应用程序 相对应;
导入所述目标测试框架的协议标准;
配置所述目标应用程序对应的系统版本、所述目标应用程序的启动项以 及所述目标应用程序的可视化界面。
可选地,所述执行单元203具体用于:
通过所述关系型数据库的连接将获取到的数据库文件导入数据库,所述 数据库中存储有包括所述目标题目在内的多个题目;
根据所述目标题目的题干文本信息生成所述目标SQL语句;
基于所述光标方法执行所述目标SQL语句进行答案查询,以得到所述目 标SQL语句对应的数值答案。
可选地,所述特定标签文本包括单选、多选或判断,所述确定单元206 具体用于:
根据所述单选对所述目标选项执行单项选择操作,以得到所述目标结果;
或,
根据所述多选对所述目标选项执行多项选择操作,以得到所述目标结果;
或,
根据所述判断对所述目标选项执行判断操作,以得到所述目标结果。
可选地,所述装置还包括:
展示单元207,用于将所述目标结果进行展示。
上面图2从模块化功能实体的角度对本发明实施例中的软件自动化做题 测试装置进行了描述,下面从硬件处理的角度对本发明实施例中的软件自动 化做题测试设备进行详细描述,请参阅图3,本发明实施例中的软件自动化做 题测试设备300的实施例示意图,该软件自动化做题测试设备300包括:
输入装置301、输出装置302、处理器303和存储器304(其中处理器303 的数量可以一个或多个,图3中以一个处理器303为例)。在本发明的一些实 施例中,输入装置301、输出装置302、处理器303和存储器304可通过通信 总线或其它方式连接,其中,图3中以通信总线连接为例。
其中,通过调用存储器304存储的操作指令,处理器303,用于执行如下 步骤:
配置目标应用程序初始运行环境;
导入所述目标应用程序的关系型数据库;
通过光标方法执行目标结构化查询语言SQL语句,以获取所述目标SQL 语句对应的数值答案,所述目标SQL语句为当前执行的目标题目对应的SQL 语句,所述光标方法与所述关系型数据库具有关联关系;
根据所述数值答案判断所述目标题目对应的选项中是否存在与所述数值 答案对应的目标选项;
若所述目标题目对应的选项中包含所述目标选项,则从所述目标题目对 应的选项中定位所述目标选项;
判断所述目标题目的题干文本信息中是否包含特定标签文本;
若所述目标题目的题干文本信息中包含所述特定标签文本,则根据所述 特定标签文本以及所述目标选项执行相应的操作,以得到目标结果。
通过调用存储器304存储的操作指令,处理器303,还用于执行图1对应 的实施例中的任一方式。
请参阅图4,图4为本发明实施例提供的电子设备的实施例示意图。
本发明实施例提供了一种电子设备,包括存储器410、处理器420及存储 在存储器420上并可在处理器420上运行的计算机程序411,处理器420执行 计算机程序411时实现以下步骤:
配置目标应用程序初始运行环境;
导入所述目标应用程序的关系型数据库;
通过光标方法执行目标结构化查询语言SQL语句,以获取所述目标SQL 语句对应的数值答案,所述目标SQL语句为当前执行的目标题目对应的SQL 语句,所述光标方法与所述关系型数据库具有关联关系;
根据所述数值答案判断所述目标题目对应的选项中是否存在与所述数值 答案对应的目标选项;
若所述目标题目对应的选项中包含所述目标选项,则从所述目标题目对 应的选项中定位所述目标选项;
判断所述目标题目的题干文本信息中是否包含特定标签文本;
若所述目标题目的题干文本信息中包含所述特定标签文本,则根据所述 特定标签文本以及所述目标选项执行相应的操作,以得到目标结果。
在具体实施过程中,处理器420执行计算机程序411时,可以实现图1 对应的实施例中任一实施方式。
由于本实施例所介绍的电子设备为实施本发明实施例中一种软件自动化 做题测试装置所采用的设备,故而基于本发明实施例中所介绍的方法,本领 域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变 化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细 介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备, 都属于本发明所欲保护的范围。
请参阅图5,图5为本发明实施例提供的一种计算机可读存储介质的实施 例示意图。
如图5所示,本发明实施例还提供了一种计算机可读存储介质500,其上 存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:
配置目标应用程序初始运行环境;
导入所述目标应用程序的关系型数据库;
通过光标方法执行目标结构化查询语言SQL语句,以获取所述目标SQL 语句对应的数值答案,所述目标SQL语句为当前执行的目标题目对应的SQL 语句,所述光标方法与所述关系型数据库具有关联关系;
根据所述数值答案判断所述目标题目对应的选项中是否存在与所述数值 答案对应的目标选项;
若所述目标题目对应的选项中包含所述目标选项,则从所述目标题目对 应的选项中定位所述目标选项;
判断所述目标题目的题干文本信息中是否包含特定标签文本;
若所述目标题目的题干文本信息中包含所述特定标签文本,则根据所述 特定标签文本以及所述目标选项执行相应的操作,以得到目标结果。
在具体实施过程中,该计算机程序511被处理器执行时刻以实现图1对 应的实施例中任一实施方式。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某 个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或 计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、 或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘 存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产 品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方 框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式 计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计 算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图 一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器 中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或 多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计 算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行 如图1对应实施例中的软件自动化做题测试方法中的流程。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执 行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程 或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其 他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从 一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算 机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同 轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例 如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中 心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介 质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。 所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如, DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时刻 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory, ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各 种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修该,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案 的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种软件自动化做题测试方法,其特征在于,包括:
配置目标应用程序初始运行环境;
导入所述目标应用程序的关系型数据库;
通过光标方法执行目标结构化查询语言SQL语句,以获取所述目标SQL语句对应的数值答案,所述目标SQL语句为当前执行的目标题目对应的SQL语句,所述光标方法与所述关系型数据库具有关联关系;
根据所述数值答案判断所述目标题目对应的选项中是否存在与所述数值答案对应的目标选项;
若所述目标题目对应的选项中包含所述目标选项,则从所述目标题目对应的选项中定位所述目标选项;
判断所述目标题目的题干文本信息中是否包含特定标签文本;
若所述目标题目的题干文本信息中包含所述特定标签文本,则根据所述特定标签文本以及所述目标选项执行相应的操作,以得到目标结果。
2.根据权利要求1所述的方法,其特征在于,所述配置目标应用程序初始运行环境包括:
安装目标测试框架的运行环境,所述目标测试框架与所述目标应用程序相对应;
导入所述目标测试框架的协议标准;
配置所述目标应用程序对应的系统版本、所述目标应用程序的启动项以及所述目标应用程序的可视化界面。
3.根据权利要求1所述的方法,其特征在于,所述通过光标方法执行目标结构化查询语言SQL语句对应的操作,以获取所述目标SQL语句对应数值答案包括:
通过所述关系型数据库的连接将获取到的数据库文件导入数据库,所述数据库中存储有包括所述目标题目在内的多个题目;
根据所述目标题目的题干文本信息生成所述目标SQL语句;
基于所述光标方法执行所述目标SQL语句进行答案查询,以得到所述目标SQL语句对应的数值答案。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述特定标签文本包括单选、多选或判断,所述根据所述特定标签文本以及所述目标选项执行相应的操作,以得到目标结果包括:
根据所述单选对所述目标选项执行单项选择操作,以得到所述目标结果;
或,
根据所述多选对所述目标选项执行多项选择操作,以得到所述目标结果;
或,
根据所述判断对所述目标选项执行判断操作,以得到所述目标结果。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法包括:
将所述目标结果进行展示。
6.一种软件自动化做题测试装置,其特征在于,包括:
配置单元,用于配置目标应用程序初始运行环境;
导入单元,用于导入所述目标应用程序的关系型数据库;
执行单元,用于通过光标方法执行目标结构化查询语言SQL语句,以获取所述目标SQL语句对应的数值答案,所述目标SQL语句为当前执行的目标题目对应的SQL语句,所述光标方法与所述关系型数据库具有关联关系;
判断单元,用于根据所述数值答案判断所述目标题目对应的选项中是否存在与所述数值答案对应的目标选项;
定位单元,用于若所述目标题目对应的选项中包含所述目标选项,则从所述目标题目对应的选项中定位所述目标选项;
所述判断单元,还用于判断所述目标题目的题干文本信息中是否包含特定标签文本;
确定单元,用于若所述目标题目的题干文本信息中包含所述特定标签文本,则根据所述特定标签文本以及所述目标选项执行相应的操作,以得到目标结果。
7.根据权利要求6所述的装置,其特征在于,所述配置单元具体用于:
安装目标测试框架的运行环境,所述目标测试框架与所述目标应用程序相对应;
导入所述目标测试框架的协议标准;
配置所述目标应用程序对应的系统版本、所述目标应用程序的启动项以及所述目标应用程序的可视化界面。
8.根据权利要求6所述的装置,其特征在于,所述执行单元具体用于:
通过所述关系型数据库的连接将获取到的数据库文件导入数据库,所述数据库中存储有包括所述目标题目在内的多个题目;
根据所述目标题目的题干文本信息生成所述目标SQL语句;
基于所述光标方法执行所述目标SQL语句进行答案查询,以得到所述目标SQL语句对应的数值答案。
9.一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1至5中任意一项所述的软件自动化做题测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机管理类程序,其特征在于:所述计算机管理类程序被处理器执行时实现如权利要求1至5中任意一项所述的软件自动化做题测试方法的步骤。
CN202110191059.3A 2021-02-19 2021-02-19 一种软件自动化做题测试方法以及相关设备 Pending CN113157554A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110191059.3A CN113157554A (zh) 2021-02-19 2021-02-19 一种软件自动化做题测试方法以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110191059.3A CN113157554A (zh) 2021-02-19 2021-02-19 一种软件自动化做题测试方法以及相关设备

Publications (1)

Publication Number Publication Date
CN113157554A true CN113157554A (zh) 2021-07-23

Family

ID=76883233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110191059.3A Pending CN113157554A (zh) 2021-02-19 2021-02-19 一种软件自动化做题测试方法以及相关设备

Country Status (1)

Country Link
CN (1) CN113157554A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434528A (zh) * 2021-08-26 2021-09-24 广州粤芯半导体技术有限公司 业务数据更新方法、业务方法及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101950496A (zh) * 2010-01-04 2011-01-19 代利忠 计算类型题目随机出题及答案生成的方法
CN107977637A (zh) * 2017-12-11 2018-05-01 上海启思教育科技服务有限公司 一种多题型的智能阅卷系统
CN109522393A (zh) * 2018-10-11 2019-03-26 平安科技(深圳)有限公司 智能问答方法、装置、计算机设备和存储介质
CN109947836A (zh) * 2019-03-21 2019-06-28 江西风向标教育科技有限公司 英语试卷结构化方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101950496A (zh) * 2010-01-04 2011-01-19 代利忠 计算类型题目随机出题及答案生成的方法
CN107977637A (zh) * 2017-12-11 2018-05-01 上海启思教育科技服务有限公司 一种多题型的智能阅卷系统
CN109522393A (zh) * 2018-10-11 2019-03-26 平安科技(深圳)有限公司 智能问答方法、装置、计算机设备和存储介质
CN109947836A (zh) * 2019-03-21 2019-06-28 江西风向标教育科技有限公司 英语试卷结构化方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434528A (zh) * 2021-08-26 2021-09-24 广州粤芯半导体技术有限公司 业务数据更新方法、业务方法及可读存储介质

Similar Documents

Publication Publication Date Title
CN108108297B (zh) 自动化测试的方法和装置
CN108293081B (zh) 通过用户界面事件的程序重放深度链接到移动应用状态
US10642721B2 (en) Generation of automated testing scripts by converting manual test cases
US7305465B2 (en) Collecting appliance problem information over network and providing remote technical support to deliver appliance fix information to an end user
US8001481B2 (en) Implementation of an interactive progress bar in a test application environment
US8863085B1 (en) Monitoring web applications
US7877732B2 (en) Efficient stress testing of a service oriented architecture based application
US7165241B2 (en) Mechanism for testing execution of applets with plug-ins and applications
US8347287B2 (en) System and method for localizing a server application using a client-side translator
US20080189682A1 (en) In-Line Editor
US20120005520A1 (en) Simplifying automated software maintenance of data centers
CN110955409B (zh) 在云平台上创建资源的方法和装置
CN113051514B (zh) 元素的定位方法、装置、电子设备及存储介质
US20050137844A1 (en) Method for generating a language-independent regression test script
US20210117313A1 (en) Language agnostic automation scripting tool
US10795793B1 (en) Method and system for simulating system failures using domain-specific language constructs
EP4246332A1 (en) System and method for serverless application testing
CN112749219A (zh) 数据抽取方法、装置、电子设备、存储介质及程序产品
US20210026710A1 (en) System and method for automated application programming interface generation
CN113157554A (zh) 一种软件自动化做题测试方法以及相关设备
CN113485927A (zh) 一种测试数据生成方法、装置、设备及存储介质
WO2023151397A1 (zh) 应用程序部署方法、装置、设备及介质
CN114297057A (zh) 一种自动化测试用例的设计及使用方法
CN111459793B (zh) 一种全生命周期的软件自动化测试方法和装置
US20050081166A1 (en) System and method facilitating automated navigation for user interface(s)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210723

RJ01 Rejection of invention patent application after publication