CN108197021A - 一种web系统自动化测试方法、装置、设备及存储介质 - Google Patents

一种web系统自动化测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN108197021A
CN108197021A CN201711457895.1A CN201711457895A CN108197021A CN 108197021 A CN108197021 A CN 108197021A CN 201711457895 A CN201711457895 A CN 201711457895A CN 108197021 A CN108197021 A CN 108197021A
Authority
CN
China
Prior art keywords
test
result
test result
web
data
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
CN201711457895.1A
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.)
Shenzhen Bincent Technology Co Ltd
Original Assignee
Shenzhen Bincent 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 Shenzhen Bincent Technology Co Ltd filed Critical Shenzhen Bincent Technology Co Ltd
Priority to CN201711457895.1A priority Critical patent/CN108197021A/zh
Publication of CN108197021A publication Critical patent/CN108197021A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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

Abstract

本发明涉及软件测试领域,提供了一种web系统自动化测试方法、装置、设备及存储介质,该web系统自动化测试方法包括以下步骤:获取代理服务器的请求数据,并将所述请求数据转换为测试用例数据;通过PhantomJS加载被测web系统的目标页面;调取所述测试用例数据对所述目标页面进行自动填充并提交测试,输出实际测试结果;获取理论测试结果,将所述理论测试结果与所述实际测试结果进行对比,输出校验结果。本发明提供的web系统自动化测试方法、装置、设备及存储介质,减少测试人员工作量同时不需要特定的浏览器,可以加快测试系统的搭建和使用,便于移植。

Description

一种web系统自动化测试方法、装置、设备及存储介质
技术领域
[0001] 本发明属于软件测试领域,更具体地说,是涉及一种web系统自动化测试方法、装 置、设备及存储介质。
背景技术
[0002] 测试工作对于web应用来说是至关重要的,对系统功能进行全面的测试,不仅可以 及时发现系统中可能存在的错误,规避上线风险,还能提升用户体验,获得用户的信赖和认 可。
[0003] 然而,测试又是一项较为繁重的工作,随着系统的每一次迭代,测试人员都要对新 功能进行全面的测试,若新开发的新功能影响到已有的功能,则需对已有功能也进行全面 测试,特别是在大型系统中,其复杂的功能与业务逻辑让测试工作变得相当沉重,有时某些 测试点被遗漏了,则容易导致线上运行出现问题。
[0004] 现在技术的方法是建立一种基于浏览器的自动化测试框架,在浏览器上模拟用户 操作,由于需要特定的浏览器支持(一般是以浏览器插件的方式来实现),因此整套测试系 统不适合快速搭建、使用和移植。
发明内容
[0005] 针对现有技术的不足,本发明提供一种web系统自动化测试方法、装置、设备及存 储介质,可以快速搭建和使用,并方便移植。
[0006] 本发明是这样实现的:
[0007] 本发明第一方面提供一种web系统自动化测试方法,该web系统自动化测试方法包 括以下步骤:
[0008] 获取代理服务器的请求数据,并将所述请求数据转换为测试用例数据;
[0009] 通过PhantomJS加载被测web系统的目标页面;
[0010] 调取所述测试用例数据对所述目标页面进行自动填充并提交测试,输出实际测试 结果;
[0011] 获取理论测试结果,将所述理论测试结果与所述实际测试结果进行对比,输出校 验结果。
[0012] 该web系统自动化测试方法是通过间接录入的方式得到测试用例数据,也可以采 用预先录入的方式得到测试用例数据,从而,得到本发明第二方面提供的web系统自动化测 试方法,包括以下几个步骤:
[0013]预先录入测试用例数据;
[0014] 通过PhantomJS加载被测web系统的目标页面;
[0015]调取所述测试用例数据对所述目标页面进行自动填充并提交测试,输出实际测试 结果;
[0016]获取理论测试结果,将所述理论测试结果与所述实际测试结果进行对比,输出校 验结果。
[0017] 本发明第三方面提供一种web系统自动化测试装置,该装置包括:
[0018]数据转换模块,用于获取代理服务器的请求数据,并将所述请求数据转换为测试 用例数据;
[0019]自动测试模块,用于通过Phantomjs加载被测web系统的目标页面;
[0020]页面填充模块,用于调取所述测试用例数据对所述目标页面进行自动填充并提 交,输出实际测试结果;
[0021] 结果校验模块,用于获取理论测试结果,将所述理论测试结果与所述实际测试结 果进行对比,输出校验结果。
[0022] 本发明第四方面提供一种终端设备,包括存储器、处理器以及存储在所述存储器 中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序 时实现如本发明实施例第一方面和第二方面所述方法的步骤。
[0023]本发明实施例第五方面一种计算机可读存储介质,所述计算机可读存储介质存储 有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如本发明实施例第一方 面和第二方面所述方法的步骤。
[0024]本发明提供的web系统自动化测试方法、装置、设备及存储介质,通过Phantomjs力口 载被测系统的目标页面,调取测试用例数据对目标页面自动填充并提交测试,对结果进行 校验,输出校验结果,不依赖特定的浏览器,从而整个测试方法适合测试的快速搭建,并方 便移植。
附图说明
[0025]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
[0026]图1为本发明一实施例提供的web系统自动化测试方法的流程图;
[0027]图2为本发明又一实施例提供的web系统自动化测试方法的流程图;
[0028]图3为本发明又一实施例提供的web系统自动化测试装置的结构示意图;
[0029]图4为图3所示实施例的另一结构示意图;
[0030]图5为本发明又一实施例提供的终端设备的结构示意图。
具体实施方式
[0031]为了使本发明所要解决的技术向题、技术方案及有益效果更加清楚明白,以下结 合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅 用以解释本发明,并不用于限定本发明。
[0032] 请参考图1,其示出了本发明实施例提供的web系统自动化测试方法的流程图。
[0033] 步骤sioi,获取代理服务器的请求数据,并将请求数据转换为测试用例数据。
[0034] 测试用例的数据可以为直接录入的方式,也可以为间接录入的方式,本发明实施 例采用的是间接录入的方式。其中,直接录入的方式是指按照给定的格式直接录入测试用 例的数据;间接录入方式是指通过拦截功能页面提交的请求来获得原始数据,再将其转化 为指定的格式从而得到测试数据。
[0035]具体的,在本地浏览器和远程web服务器之间设置代理服务器,页面的请求和响应 都需要经过代理服务器。
[0036] 在代理服务器中设置一个数据转换器,通过超文本预处理器(Hypertext Preprocessor,简称php)的$_6£1'和$_?051'全局数组来接收请求,并通过json_encode ()方 法将数据转换为json格式,生成测试用例数据,其中,php是一种开源的通用计算机脚本语 言。
[0037]其中,测试数据可以分为以下两类:
[0038](—)测试用例类Testcase。
[0039]该类代表一个测试用例,有以下几个关键的成员属性:
[0040] (1) Testcase: : tid--测试用例id,唯一标识。
[0041] (2) Testcase::type--测试用例类型。
[0042] ⑶Testcase::script--测试用例执行脚本。
[0043] ⑷ Testcase: : input--测试数据。
[0044] (5) Testcase: : output--测试结果。
[0045] ⑹ Testcase: :pageUrl--目标页面链接。
[0046] (二)测试用例管理类TestcaseManage。
[0047]该类用于操作测试用例,有三个核心方法:
[0048] (1) boolTestcaseManage: : add (Testcase$test)--用于添加测试用例。
[0049] (2) boolTestcaseManage: : execute (Testcase$test)--用于执行测试用例,通 过命令行调用CasperJS进行页面的自动提交工作。
[0050] (3) TestcaseTestcaseManage: : convert ()--用于将页面提交参数(即请求数 据)转化为测试数据,其内部通过$_gei^p$_post全局数组接收请求数据,然后通过json_ encode ()方法进行json格式转换。
[0051] 步骤S102,通过PhantomJS加载被测web系统的目标页面。
[0052] 其中,PhantomJS是一款脚本化的无头浏览器,用于自动化网页交互。PhantomJS提 供了一个JavaScript API,支持自动导航、屏幕截图、用户行为和断言,使其成为一个常用 工具,用于在无头系统(如持续集成环境)中运行基于浏览器的单元测试。
[0053] 作为一种实施方式,PhantomJS是通过CasperJS来进行页面的加载的,其中, CasperJS是一个开源的、用JavaScript编写的、基于PhantomJS的导航脚本和测试工具。 [0054]具体的,通过CasperJS编写一个主模块AutoTest,用于负责web系统自动化测试的 主体工作。
[0055] 其中,启动AutoTest模块的关键参数是测试用例的ID,AutoTest模块通过测试用 例的ID来获取对应的测试用例,再通过调用casper • test • begin ()方法来启动web系统自 动化测试。
[0056] 首先,运用casper• fi 11 ()方法,通过AutoTest模块设置username和password全局 变量,保存账号名和密码,并通过集成login ()的方法,登录被测web系统。
[0057] AutoTest模块启动后,调用CasperJS的utils模块中的sendAJAX ()方法,通过启动 参数中的测试用例ID去获取测试用例信息,返回json格式的字符串。
[0058] 再调用JS0N• parse ()将返回值转化为json对象,根据转化出来的json对象中提取 页面属性,由于页面属性保存了目标页面的链接,将该链接提取后传给casper. open 〇方 法从而加载目标页面。
[0059] 步骤Sl〇3,调取测试用例数据对目标页面进行自动填充并提交测试,输出实际测 试结果。
[0060] 加载完页面之后,通过Casper JS执行页面填充脚本。
[0061]具体的,将每一个填充脚本都封装为一个独立的子模块,以注册的方式加入到 AutoTest模块中,其中,子模块的名称与脚本名称保持一致,每个子模块都需要导出一个 execute ()方法。
[0062] AutoTest模块通过require ()方法加载对应的子模块,并调用子模块的execute 0方法来执行页面填充。
[0063] 其中,子模块通过调用casper • evaluate ()方法来进行页面的操作,通过 casper• then ()方法来控制执行的顺序,然后调用submit ()方法来提交页面。
[0064] 其中,一次填充的操作是,通过测试数据的key找到表单并将value填充到该表单 中。
[0065] 有时候页面上不一定有某一个表单,或者页面做了一些动态效果,需要满足一定 的操作条件表单才会出现,这时候可以通过Casper JS判断或执行所要求的操作来获取表 单。
[0066]将测试数据填充到页面的表单上后,通过casper js触发页面提交操作,然后 PhantomJS将数据发送给web服务器,完成页面的自动提交进行测试,输出实际测试结果,并 将实际测试结果保存到数据库中。
[0067] 步骤S104,获取理论测试结果,将理论测试结果与实际测试结果进行对比,输出校 验结果。
[0068] 其中,理论测试结果是指在一次测试中测试人员期望生成的数据。
[0069] 具体的,通过php编写校验脚本来获取理论测试结果,将每一项理论测试结果的数 据的key与实际测试结果在数据库中的字段名建立映射关系,g卩key和字段名保持一致,其 中,字段名是指在以关系模型为数据结构的二维表中每一列的标识,数据进行存储到计算 机时,必须按照一定的结构和一定的组织格式。其中关系模型当前在现实中应用范围最广, 它要求数据都是存储在含有有限个不同的行及特定关系的二维表中。二维表中的每一列就 是字段,字段名用来表示字段,由用户自行指定,在不同系统中遵循一定的命名规则。
[0070] 其中,一次校验的操作是,确定某个实际测试结果的字段名,通过映射关系找到对 应的理论测试结果。
[0071] 通过php从数据库中读出一次测试产生的结果,即实际测试结果,优选的,数据库 为mysql数据库。
[0072]将理论测试结果和实际测试结果平展开来,用php的一维数组来存储,其中,平展 的操作使用递归来实现。
[0073] 然后使用foreach循环语句按照数组下标相同的规则一一对比,最后得出校验结 果。 L〇〇74』其中,校验的规则为:右理论测试结果与实际测试结果一致,则输出测试通过的校 验结果,否则输出测试不通过的校验结果。
[0075]所有实际测试结果校验完毕后,输出最终校验结果,即测试通过或者不通过,并输 出详细的测试报告,记录每一次校验的情况,结束测试。
[0076]本发明实施例提供的web系统自动化测试方法,通过获取代理服务器的请求数据 转换为测试用例数据,再通过PhantomJS加载被测web系统的目标页面,对目标页面进行自 动填充并提交测试,输出实际测试结果,最后获取理论测试结果,与实际测试结果进行对 比,输出校验结果。本发明实施例的web系统自动化测试方法,可以实现间接录入和自动填 充,减少测试人员工作量同时不需要特定的浏览器,可以加快测试系统的搭建和使用,便于 移植。
[0077]以上发明实施例是采用间接录入的方式,如前所述,测试用例的数据可以为间接 录入的方式,也可以为直接录入的方式,因此,可以用直接录入的方式来实现,从而得到另 一种web系统自动化测试方法,请参考图2,其不出了本发明又一实施例提供的web系统自动 化测试方法的流程图。
[0078]步骤S201,预先录入测试用例数据。
[0079]其中,预先录入测试用例数据,是指由测试人员直接以json格式录入数据。
[0080] 步骤S202,通过PhantomJS加载被测web系统的目标页面。
[0081]步骤S203,调取测试用例数据对目标页面进行自动填充并提交测试,输出实际测 试结果。
[0082] 步骤S204,获取理论测试结果,将理论测试结果与实际测试结果进行对比,输出校 验结果。
[0083] 其中,步骤S202至步骤S204与上一实施例中的步骤S102至步骤S104相同,请参照 前一实施例,这里不再一一赘述。
[0084] 应当理解的是,由于本发明实施例采用直接录入的方式,因此调取数据用例数据 时,将路径指定为录入数据的路径即可实现测试用例数据的调用。
[0085] 本发明实施例提供的web系统自动化测试方法,采用预先录入测试用例数据,再通 过PhantomJS加载被测web系统的目标页面,对目标页面进行自动填充并提交测试,输出实 际测试结果,最后获取理论测试结果,与实际测试结果进行对比,输出校验结果。本发明实 施例的web系统自动化测试方法,直接录入的方式实现起来比较简单,另外也可以实现间接 录入和不需要特定的浏览器的技术效果,达到加快测试系统的搭建和使用,便于移植的目 的。
[0086] 以下是本发明的装置实施例,在装置实施例中未详尽描述的细节,可以参考上述 对应的方法实施例。 _
[0087] 请参考图3,其示出了本发明实施例提供的web系统自动化测试装置的结构示意 图。
[0088] web系统自动化测试装置30包括:数据转换模块3〇1、自动测试模块302、页面填充 模块303和结果校验模块304。
[0089] 数据转换模块301,用于获取代理服务器的请求数据,并将请求数据转换为测试用 例数据。
[0090] 自动测试模块302,用于通过PhantomJS加载被测web系统的目标页面。
[0091] 页面填充模块303,用于调取测试用例数据对目标页面进行自动填充并提交,输出 实际测试结果。
[0092] 结果校验模块304,用于获取理论测试结果,将理论测试结果与实际测试结果进行 对比,输出校验结果。
[0093] 请参考图4,其示出了本发明实施例提供的web系统自动化测试装置另一结构示意 图。
[0094] 其中,数据转换模块301包括:数据获取单元3〇 11和格式转换单元3〇 12。
[0095] 数据获取单元3011,用于在本地浏览器和远程web服务器之间设置代理服务器,获 取本地浏览器通过代理服务器向远程web服务器发送的请求数据。
[0096] 格式转换单元3012,用于将请求数据转换为json格式,生成测试用例数据。
[0097] 其中,页面填充模块303包括:表单获取单元3031和表单填充单元3032。
[0098] 表单获取单元3031,用于通过casper JS获取自动测试模块3〇2加载的目标页面的 表单。
[0099]表单填充单元3032,用于将测试用例数据自动填充至表单并提交,输出实际测试 结果,并将实际测试结果输出至数据库。
[0100] 其中,结果校验模块304包括:结果获取单元3041和结果对比单元3042。
[0101]结果获取单元3041,用于获取实际测试结果的字段名,根据字段名从数据库中获 取理论测试结果。
[0102] 结果对比单元3042,用于将理论测试结果与实际测试结果进行对比,若理论测试 结果与实际测试结果一致,则输出测试通过的校验结果,否则输出测试不通过的校验结果。
[0103] 以下是web系统自动化测试装置30具体的工作过程。
[0104] 首先,数据转换模块301中的数据获取单元3011在本地浏览器和远程web服务器之 间设置代理服务器,在代理服务器中设置一个数据转换器,通过超文本预处理器 (Hypertext Preprocessor,简称php)的$_0£1'和$_?031'全局数组来接收请求。
[0105] 然后,格式转换单元3012通过json_encode 〇方法将数据转换为json格式,生成测 试用例数据。
[0106] 接下来,自动测试模块302,通过PhantomJS的CasperJS来进行页面的加载,即通过 CasperJS编写一个主模块AutoTest,用于负责web系统自动化测试的主体工作。
[0107] 其中,启动AutoTest模块的关键参数是测试用例的ID,AutoTest模块通过测试用 例的ID来获取对应的测试用例,再通过调用casper • test • begin ()方法来启动web系统自 动化测试。
[0108] 具体的,自动测试模块302运用casper .fill ()方法,通过AutoTest模块设置 username和password全局变量,保存账号名和密码,并通过集成login ()的方法,登录被测 web系统。
[0109] AutoTest模块启动后,自动测试模块302调用CasperJS的utils模块中的sendAJAX ()方法,通过启动参数中的测试用例ID去获取测试用例信息,返回json格式的字符串。 [0110] 然后,自动测试模块302调用JSON.parseQ将返回值转化为json对象,根据转化出 来的json对象中提取页面属性,由于页面属性保存了目标页面的链接,将该链接提取后传 给casper.open ()方法从而加载目标页面。
[0111]自动测试模块302加载完页面之后,页面填充模块303通过Casper JS执行页面填充 脚本。
[0112]具体的,页面填充模块3〇3的表单填充单元3032将每一个填充脚本都封装为一个 独立的子模块,以注册的方式加入到AutoTest模块中,其中,子模块的名称与脚本名称保持 一致,每个子模块都需要导出一个execute ()方法。
[0113] 表单填充单元3〇32通过AutoTest模块应用require ()方法加载对应的子模块,并 调用子模块的execute ()方法来执行页面填充。
[0114] 其中,子模块通过调用casper.evaluate ()方法来进行页面的操作,通过 casper. then ()方法来控制执行的顺序,然后调用submit ()方法来提交页面。
[0115]其中,一次填充的操作是,表单获取单元3031通过测试数据的key找到表单,表单 填充单元3032将value填充到该表单中。
[0116]有时候页面上不一定有某一个表单,或者页面做了一些动态效果,需要满足一定 的操作条件表单才会出现,表单获取单元3031通过CasperJS判断或执行所要求的操作来获 取表单。
[0117]将测试数据填充到页面的表单上后,表单填充单元3032通过casper js触发页面提 交操作,然后Phan totnJS将数据发送给web服务器,完成页面的自动提交进行测试,输出实际 测试结果,并将实际测试结果保存到数据库中。 接下来是进行结果的校验,结果校验模块304的结果获取单元3041通过php编写校 验脚本来获取理论测试结果,将每一项理论测试结果的数据的key与实际测试结果在数据 库中的字段名建立映射关系,g卩key和字段名保持一致。
[0119]其中,一次校验的操作是,结果获取单元3041确定某个实际测试结果的字段名,通 过映射关系找到对应的理论测试结果。
[0120]结果获取单元3041通过php从数据库中读出一次测试产生的结果,即实际测试结 果,优选的,数据库为mysql数据库。
[0121]结果对比单元3042将理论测试结果和实际测试结果平展开来,用Php的一维数组 来存储,其中,平展的操作使用递归来实现。
[0122] 然后结果对比单元3042使用foreach循环语句按照数组下标相同的规则一一对 比,最后得出校验结果。
[0123]其中,校验的规则为:若理论测试结果与实际测试结果一致,则输出测试通过的校 验结果,否则输出测试不通过的校验结果。
[0124]所有实际测试结果校验完毕后,结果校验模块304输出最终校验结果,即测试通过 或者不通过,并输出详细的测试报告,记录每一次校验的情况,结束测试。
[0125]本发明实施例提供的web系统自动化测试装置,通过获取代理服务器的请求数据 转换为测试用例数据,再通过PhantomJS加载被测web系统的目标页面,对目标页面进行自 动填充并提交测试,输出实际测试结果,最后获取理论测试结果,与实际测试结果进行对 比,输出校验结果。本发明实施例的web系统自动化测试装置,可以实现间接录入和自动填 充,减少测试人员工作量同时不需要特定的浏览器,可以加快测试系统的搭建和使用,便于 移植。
[0126]本发明另一种实施例提供一计算机可读存储介质,该计算机可读存储介质上存储 有计算机程序,该计算机程序被处理器执行时实现上述实施例中的web系统自动化测试方 法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述实施例中web 系统自动化测试装置中各模块/单元的功能,为避免重复,这里不再赘述。
[0127]请参考图5,其示出了本实施例的终端设备的示意图,终端设备6包括处理器60、存 储器61以及存储在存储器ei中并可在处理器60上运行的计算机程序62。处理器60执行计算 机程序62时实现上述实施例中web系统自动化测试方法的各个步骤,例如图1所示的步骤 S101、S102、Sl〇3和S104。或者,处理器6〇执行计算机程序62时实现上述实施例中web系统自 动化测试装置各模块/单元的功能,如图3所示数据转换模块301、自动测试模块302、页面填 充模块303和结果校验模块304的功能。
[0128]示例性的,计算机程序62可以被分割成一个或多个模块/单元,一个或者多个模 块/单元被存储在存储器61中,并由处理器60执行,以完成本发明。一个或多个模块/单元可 以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序62在终 端设备6中的执行过程。例如,计算机程序62可以被分割成数据转换模块301、自动测试模块 302、页面填充模块303和结果校验模块304 (虚拟装置中的模块)。
[0129]该终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。 终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图5仅仅是 终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者 组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、 总线等。
[0130] 所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是 其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、 分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器 等。
[0131] 存储器61可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。存储 器61也可以是终端设备6的外部存储设备,例如终端设备6上配备的插接式硬盘,智能存储 卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。 进一步地,存储器61还可以既包括终端设备6的内部存储单元也包括外部存储设备。存储器 61用于存储计算机程序以及终端设备所需的其他程序和数据。存储器61还可以用于暂时地 存储已经输出或者将要输出的数据。
[0132] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功 能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的 功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上 描述的全部或者部分功能。
[0133] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。 LUld4」所还集成的換块/单元如果以软件功能单元的形式实现并作为独立的产品销售或 使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施 例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计 算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上 述各个方•'法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代 码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质 可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁 碟、光盘、计算机存储器、只读存储器(R〇M,Read-〇nly Memory)、随机存取存储器(RAM, Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述 计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增 减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和 电信信号。
[0135]以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实 施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各 实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改 或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应 包含在本发明的保护范围之内。

Claims (10)

1. 一种web系统自动化测试方法,其特征在于,包括以下步骤: 获取代理服务器的请求数据,并将所述请求数据转换为测试用例数据; 通过PhantomJS加载被测web系统的目标页面; 调取所述测试用例数据对所述目标页面进行自动填充并提交测试,输出实际测试结 果; 获取理论测试结果,将所述理论测试结果与所述实际测试结果进行对比,输出校验结 果。
2. 如权利要求1所述的web系统自动化测试方法,其特征在于,所述获取代理服务器拦 截的请求数据,并将所述请求数据转换为测试用例数据,包括: 在本地浏览器和远程web服务器之间设置代理服务器,获取所述本地浏览器通过所述 代理服务器向所述远程web服务器发送的请求数据,并将所述请求数据转换为json格式,生 成所述测试用例数据。
3. 如权利要求2所述的web系统自动化测试方法,其特征在于,所述调取所述测试用例 数据对所述目标页面进行自动填充并提交测试,输出实际测试结果,包括: 通过casper JS获取所述目标页面的表单,将所述测试用例数据自动填充至所述表单并 提父测试,输出实际测试结果,并将实际测试结果输出至数据库。
4. 如权利要求3所述的web系统自动化测试方法,其特征在于,所述获取理论测试结果, 将所述理论测试结果与所述实际测试结果进行对比,输出校验结果,包括: 获取所述实际测试结果的字段名,根据所述字段名从所述数据库中获取所述理论测试 结果,将所述理论测试结果与所述实际测试结果进行对比,若所述理论测试结果与所述实 际测试结果一致,则输出测试通过的校验结果,否则输出测试不通过的校验结果。
5. —种web系统自动化测试方法,其特征在于,包括以下步骤: 预先录入测试用例数据; 通过PhantomJS加载被测web系统的目标页面; 调取所述测试用例数据对所述目标页面进行自动填充并提交测试,输出实际测试结 果; 获取理论测试结果,将所述理论测试结果与所述实际测试结果进行对比,输出校验结 果。
6. —种web系统自动化测试装置,其特征在于,所述装置包括: 数据转换模块,用于获取代理服务器的请求数据,并将所述请求数据转换为测试用例 数据; 自动测试模块,用于通过PhantomJS加载被测web系统的目标页面; 页面填充模块,用于调取所述测试用例数据对所述目标页面进行自动填充并提交,输 出实际测试结果; 结果校验模块,用于获取理论测试结果,将所述理论测试结果与所述实际测试结果进 行对比,输出校验结果。
7. 如权利要求6所述的web系统自动化测试装置,其特征在于,所述数据转换模块包括 数据获取单元和格式转换单元; 所述数据获取单元,用于在本地浏览器和远程web服务器之间设置代理服务器,获取所 述本地浏览器通过所述代理服务器向所述远程web服务器发送的请求数据; 所述格式转换单元,用于将所述请求数据转换为js〇n格式,生成所述测试用例数据;
8. 如权利要求7所述的web系统自动化测试装置,其特征在于, 所述页面填充模块包括表单获取单元和表单填充单元; 所述表单获取单元,用于通过casper JS获取所述自动测试模块加载的所述目标页面的 表单; 所述表单填充单元,用于将所述测试用例数据自动填充至所述表单并提交,输出实际 测试结果,并将实际测试结果输出至数据库; 所述结果校验模块包括结果获取单元和结果对比单元; 所述结果获取单元,用于获取所述实际测试结果的字段名,根据所述字段名从所述数 据库中获取所述理论测试结果; 所述结果对比单元,用于将所述理论测试结果与所述实际测试结果进行对比,若所述 理论测试结果与所述实际测试结果一致,则输出测试通过的校验结果,否则输出测试不通 过的校验结果。
9. 一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上 运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5 任一项所述方法的步骤。
10.—种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在 于,所述计算机程序被处理器执行时实现如权利要求丨至5任一项所述方法的步骤。
CN201711457895.1A 2017-12-28 2017-12-28 一种web系统自动化测试方法、装置、设备及存储介质 Pending CN108197021A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711457895.1A CN108197021A (zh) 2017-12-28 2017-12-28 一种web系统自动化测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711457895.1A CN108197021A (zh) 2017-12-28 2017-12-28 一种web系统自动化测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN108197021A true CN108197021A (zh) 2018-06-22

Family

ID=62585579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711457895.1A Pending CN108197021A (zh) 2017-12-28 2017-12-28 一种web系统自动化测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108197021A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299001A (zh) * 2018-08-22 2019-02-01 深圳点猫科技有限公司 一种编程平台下的表单的自动化测试方法及电子设备
CN109345383A (zh) * 2018-08-13 2019-02-15 兴业证券股份有限公司 证券软件资讯服务监控方法及存储介质
CN109831357A (zh) * 2019-01-30 2019-05-31 北京大米科技有限公司 一种服务验证方法、装置、存储介质及服务器
WO2020024408A1 (zh) * 2018-08-03 2020-02-06 平安科技(深圳)有限公司 测试装置、测试的方法及存储介质
CN112395191A (zh) * 2020-11-16 2021-02-23 北京五八信息技术有限公司 一种信息处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011097328A9 (en) * 2010-02-02 2011-09-01 Webtrends Inc. Method and system for test-duration estimation
CN104008042A (zh) * 2013-02-21 2014-08-27 阿里巴巴集团控股有限公司 一种ui自动化测试方法、系统和设备
CN104427627A (zh) * 2013-08-23 2015-03-18 阿里巴巴集团控股有限公司 测试数据获取方法、客户端与服务器
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011097328A9 (en) * 2010-02-02 2011-09-01 Webtrends Inc. Method and system for test-duration estimation
CN104008042A (zh) * 2013-02-21 2014-08-27 阿里巴巴集团控股有限公司 一种ui自动化测试方法、系统和设备
CN104427627A (zh) * 2013-08-23 2015-03-18 阿里巴巴集团控股有限公司 测试数据获取方法、客户端与服务器
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIWI小白: "用CasperJs自动浏览页面", 《CSDN博客 HTTPS://BLOG.CSDN.NET/KIWI_CODER/ARTICLE/DETAILS/36248353》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020024408A1 (zh) * 2018-08-03 2020-02-06 平安科技(深圳)有限公司 测试装置、测试的方法及存储介质
CN109345383A (zh) * 2018-08-13 2019-02-15 兴业证券股份有限公司 证券软件资讯服务监控方法及存储介质
CN109299001A (zh) * 2018-08-22 2019-02-01 深圳点猫科技有限公司 一种编程平台下的表单的自动化测试方法及电子设备
CN109831357A (zh) * 2019-01-30 2019-05-31 北京大米科技有限公司 一种服务验证方法、装置、存储介质及服务器
CN109831357B (zh) * 2019-01-30 2020-12-29 北京大米科技有限公司 一种服务验证方法、装置、存储介质及服务器
CN112395191A (zh) * 2020-11-16 2021-02-23 北京五八信息技术有限公司 一种信息处理方法及装置

Similar Documents

Publication Publication Date Title
CN108197021A (zh) 一种web系统自动化测试方法、装置、设备及存储介质
CN105965179B (zh) 一种船体焊接工艺辅助规划系统及方法
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
CN105426394B (zh) 基于跨平台的移动报表生成方法和系统
CN108563768A (zh) 不同数据模型的数据转换方法、装置、设备及存储介质
CN104750603A (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN105556505A (zh) 遗产系统
CN105404574A (zh) 一种智能卡与移动终端一致性测试方法及装置
CN109448100A (zh) 三维模型格式转换方法、系统、计算机设备及存储介质
CN106897107B (zh) 一种web远程数据计算与仿真的实现系统和方法
CN108536579A (zh) 资源受限设备测试系统和方法
CN107844424A (zh) 基于模型的测试系统及方法
CN108965375B (zh) 服务调用代理控制系统、方法、服务器及可读存储介质
CN111381863A (zh) 基于区块链技术的app交易及自动化上线方法及上线系统
CN111240976A (zh) 软件测试方法、装置、计算机设备及存储介质
CN104965742A (zh) 一种处理前端任务的自动化脚本及装置
CN110134596A (zh) 测试文档的生成方法及终端设备
Martínez et al. Implementing crossplatform distributed algorithms using standard web technologies
CN109992496A (zh) 一种用于自动化测试的数据处理方法和装置
CN109542764A (zh) 网页自动化测试方法、装置、计算机设备和存储介质
CN109656917A (zh) 多数据源的数据检测方法、装置、设备及可读存储介质
CN108933713A (zh) 基于影子链路实现沙箱调试的方法、装置及业务服务器
CN107766040A (zh) 一种生成接口文档的方法、装置及计算机可读存储介质
WO2019169725A1 (zh) 测试数据生成方法、装置、设备以及计算机可读存储介质
CN113032256A (zh) 自动化测试方法、装置、计算机系统和可读存储介质

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: 20180622

RJ01 Rejection of invention patent application after publication