发明内容
本发明的目的在于为了避免配置文件修改工作的繁琐、不便于管理导致的效率低效而提出的一种自动化测试方法及系统。
为了实现以上发明目的,本发明采取的技术方案如下:一种自动化测试方法,具体步骤如下:
步骤101,预先设置数据库,在数据库中设定各测试任务在不同项目名中的邮件通知者;
步骤102,在提交测试任务到自动化平台时,指定该测试任务所属项目名;
步骤103,记录步骤102中提交测试任务到自动化平台时所指定的项目名;
步骤104,在提交到自动化平台的某一个测试任务运行结束后,自动化平台收集执行结果,并读取步骤103中记录的测试任务名和项目名的匹配关系,然后将执行结果、任务名和所属项目名发送到数据库查询邮件通知者;
步骤105,数据库查询该测试任务匹配项目名的邮件通知者;
步骤106,数据库向自动化平台返回步骤105中查询到的邮件通知者,自动化平台将该测试任务的执行结果发送给查询到的邮件通知者。
进一步的,步骤101中所述的数据库的数据是指以一定格式存储的数据,包括SQL、XML或者文本方式记录的数据。
进一步的,步骤101中对数据库的设置完成后,如果后续有邮件通知者的改动,则再次执行本步骤。
进一步的,步骤103将生成临时文件,并以一定格式存储所提交的测试任务和指定的所属项目名的关系。
进一步的,步骤101还包括:预先设置数据库时设定测试任务在无法查询到匹配项目名时的默认邮件通知者。
进一步的,数据库查询不存在该测试任务匹配项目名的邮件通知者时,则进入步骤107:数据库向自动化平台返回预先设定的默认邮件通知者,并由自动化平台将该测试任务的执行结果发送给默认邮件通知者。
为了解决上述问题,本发明还提出了一种自动化测试系统,包括数据库模块、记录模块和自动化平台;
其中,数据库模块用于设定并查询各测试任务在不同项目名中的邮件通知者;记录模块用于记录提交测试任务到自动化平台时所指定的项目名;自动化平台用于某一个测试任务运行结束后,收集执行结果,并读取记录模块的测试任务名和项目名的匹配关系,然后将执行结果、任务名和所属项目名发送到数据库查询邮件通知者。
进一步的,所述数据库模块还用于预先设置测试任务在无法查询到匹配项目名时的默认邮件通知者。
进一步的,所述自动化平台还用于返回预先设定的默认邮件通知者,并将该测试任务的执行结果发送给默认邮件通知者。
进一步的,所述数据库模块的数据是指以一定格式存储的数据,包括SQL、XML或者文本方式记录的数据。
本发明的有益效果:本发明是通过在数据库中对各个测试任务在不同项目中的邮件接收者进行统一配置,每个测试任务并不需要邮件接收者配置文件,这样实现了邮件接收者的统一管理,在测试任务的邮件接收者需要变更时,或者测试任务需要在不同项目中进行,并且不同项目的邮件接收者不同时,使用本发明只需修改数据库中的邮件接收者即可,如果使用目前现有的技术方案,则需要逐个修改每个测试任务对应的邮件接收者配置文件,增加了测试人员的工作量,使得自动化执行效率降低,相对比之下,本发明统一了邮件接收者的管理,同时也简化了测试任务的配置文件,提高自动化的执行效率。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。
一种自动化测试方法,具体步骤如下:
步骤101,预先设置数据库,在数据库中设定各测试任务在不同项目名中的邮件通知者;
步骤101中所述的数据库的数据是指以一定格式存储的数据,包括SQL、XML或者文本方式记录的数据。
步骤101中对数据库的设置完成后,如果后续有邮件通知者的改动,则再次执行本步骤。
步骤102,在提交测试任务到自动化平台时,指定该测试任务所属项目名;
步骤102提交测试任务到自动化平台并指定所属项目名的方式,包括类似Windows的图形界面操作方式和类似Linux的命令提示符操作方式。
步骤103,记录步骤102中提交测试任务到自动化平台时所指定的项目名;
步骤103将生成临时文件,并以一定格式存储所提交的测试任务和指定的所属项目名的关系。
步骤104,在提交到自动化平台的某一个测试任务运行结束后,自动化平台收集执行结果,并读取步骤103中记录的测试任务名和项目名的匹配关系,然后将执行结果、任务名和所属项目名发送到数据库查询邮件通知者;
步骤104中自动化平台将测试任务的执行结果、任务名和所属项目名向数据库所在服务器发送查询请求,由数据库在接收请求后查询对应的邮件通知者。
步骤105,数据库查询该测试任务匹配项目名的邮件通知者;
步骤106,数据库向自动化平台返回步骤105中查询到的邮件通知者,自动化平台将该测试任务的执行结果发送给查询到的邮件通知者。
步骤106完成后,该测试任务的执行结果将完成邮件通知的发送,自动化平台将继续等待下一个测试任务的执行结束。
一种更优选的方式,步骤101还可以包括:预先设置数据库时设定测试任务在无法查询到匹配项目名时的默认邮件通知者。
数据库查询不存在该测试任务匹配项目名的邮件通知者时,则进入:
步骤107:数据库向自动化平台返回预先设定的默认邮件通知者,并由自动化平台将该测试任务的执行结果发送给默认邮件通知者。
步骤107完成后,该测试任务的执行结果将完成邮件通知的发送,自动化平台将继续等待下一个测试任务的执行结束。
本发明还提出了一种自动化测试系统,包括数据库模块、记录模块和自动化平台;
其中,数据库模块用于设定并查询各测试任务在不同项目名中的邮件通知者;记录模块用于记录提交测试任务到自动化平台时所指定的项目名;自动化平台用于某一个测试任务运行结束后,收集执行结果,并读取记录模块的测试任务名和项目名的匹配关系,然后将执行结果、任务名和所属项目名发送到数据库查询邮件通知者。
数据库模块还用于预先设置测试任务在无法查询到匹配项目名时的默认邮件通知者。
自动化平台还用于返回预先设定的默认邮件通知者,并将该测试任务的执行结果发送给默认邮件通知者。
数据库模块的数据是指以一定格式存储的数据,包括SQL、XML或者文本方式记录的数据。
下面举具体实施例详细说明:
实施例一:数据库没有设置默认邮件接收者的情况:
步骤1,测试人员配置数据库,测试任务A和测试任务B在不同项目ProA,ProB,ProC中的不同邮件接收者,简要格式如下:
步骤2,测试人员将测试任务A和测试任务B提交到自动化平台,在提交时分别指定所属项目为ProA和ProB。
步骤3,自动化平台生成临时文件,记录所提交的测试任务和所属项目的对应关系,比如:
Test:A=ProA
Test:B=ProB
步骤4,在测试任务A结束后,自动化平台查询步骤3中生成的临时文件,得到所属项目为ProA,并将测试任务A的测试任务名A、所属项目名ProA,执行结果发送到数据库进行邮件通知者的查询。
步骤5数据库收到步骤4的查询后,查询出测试任务A在项目ProA中的邮件接收者为zhangsanxxx.com,并将该邮件接收者传递给自动化平台。
步骤6,自动化平台将测试任务A的执行结果发送给步骤5中查询出的邮件接收者zhangsanxxx.com,并等待测试任务B的结束。
实施例二:数据库设置了默认邮件接收者的情况:
步骤1,测试人员配置数据库,比如测试任务TestA和测试任务TestB在不同项目ProA,ProB中的不同邮件接收者,以及默认邮件接收者,简要格式如下:
步骤2,测试人员将测试任务TestA和测试任务TestB提交到自动化平台,在提交时分别指定所属项目为ProA和ProC。
步骤3,自动化平台生成临时文件,记录所提交的测试任务和所属项目的对应关系,比如:
Test:TestA=ProA
Test:TestB=ProC
步骤4,比如测试任务TestA先结束,自动化平台查询步骤3中生成的临时文件,得到所属项目为ProA,并将测试任务TestA的测试任务名TestA、所属项目名ProA,执行结果发送到数据库进行邮件通知者的查询。
步骤5,数据库查询出测试任务TestA在项目ProA中的邮件接收者为zhangsanxxx.com,并将该邮件接收者传递给自动化平台。
步骤6,自动化平台将测试任务TestA的执行结果发送给zhangsanxxx.com,并等待测试任务TestB的结束。
步骤7,在测试任务B结束后,自动化平台查询步骤3中生成的临时文件,得到所属项目为ProC,并将测试任务TestB的测试任务名TestB,所属项目名ProC,执行结果发送到数据库进行邮件通知者的查询。
步骤8,数据库查询出测试任务TestB没有设置对应项目ProC的邮件接收者,将采用默认邮件接收者lisixxx.com,并将该邮件接收者传递给自动化平台。
步骤9,自动化平台将测试任务TestB的执行结果发送给lisixxx.com。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。