指定用户对高权限进程自动化测试的方法及装置制造方法及图纸

技术编号:11593947 阅读:51 留言:0更新日期:2015-06-11 02:30
本发明专利技术公开了一种指定用户对高权限进程自动化测试的方法及装置,高权限进程要求的用户测试权限高于指定用户的测试权限,其中方法包括:在以指定用户登录系统后,将提权工具复制到系统目录下,使高权限进程具有其所要求的用户测试权限;执行高权限进程的测试用例;判断测试用例对应的系统接口调用是否需要指定用户执行;若是,则模拟指定用户,通过模拟的指定用户调用测试用例对应的系统接口。本方案不仅简单有效地解决了测试过程中需要高权限的问题,而且还避免了提权后系统接口调用失败,丰富了自动化测试场景,优化了自动化测试方法。

【技术实现步骤摘要】
指定用户对高权限进程自动化测试的方法及装置
本专利技术涉及互联网
,具体涉及一种指定用户对高权限进程自动化测试的方法及装置。
技术介绍
进程的测试是指在预设条件下对系统或程序进行测试,从而评估系统或程序的运行结果。目前,大部分的自动化测试进程都是Administrator管理员用户执行的,因为Administrator管理员用户拥有较高的权限,这样可以保证在测试进程执行的过程中有足够的权限去操作常用的系统资源。其中,会有一些自动化测试要求在特殊的测试条件下进行,比如,测试逻辑不仅要求User普通用户去执行自动化测试,并且还要求测试进程具有比当前用户要高的权限,如System用户的权限,这样的测试条件就会导致很多常规的测试代码因为权限问题而执行失败。人们在面对上述存在的问题时,通常采用以下两种解决方法:第一种解决方法是:通过User普通用户执行手动测试操作。但是由于第一种解决方法采用的是手动测试,所以存在着对人力、时间或硬件资源的浪费以及测试效率低的问题。在Windows系统中,一般的User普通用户都默认开启UAC(UserAccountControl,用户帐户控制),UAC要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员密码,从而帮助防止了恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改,提高了系统安全。因此第二种解决方法是:通过关闭UAC来解决部分权限问题,但是第二种解决方法会造成测试环境与最终用户环境不一致,而且,即使关闭了UAC,对于当前用户权限低于测试进程权限的情况,自动化程序与测试进程之间的一些如窗口发送消息,进程内存读写等的交互操作仍然无法完成。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种指定用户对高权限进程自动化测试的方法及装置。根据本专利技术的一个方面,提供了一种指定用户对高权限进程自动化测试的方法,高权限进程要求的用户测试权限高于指定用户的测试权限,该方法包括:在以指定用户登录系统后,将提权工具复制到系统目录下,使高权限进程具有其所要求的用户测试权限;执行高权限进程的测试用例;判断测试用例对应的系统接口调用是否需要指定用户执行;若是,则模拟指定用户,通过模拟的指定用户调用测试用例对应的系统接口。进一步,将提权工具复制到系统目录下,使高权限进程具有其所要求的用户测试权限进一步包括:将提权工具复制到系统目录下,运行命令提示符,接收指定用户输入的命令语句,触发运行提权工具;命令语句包括高权限进程的名称。进一步,触发运行提权工具进一步包括:根据对话框中显示消息的点击命令,触发运行提权工具;对话框为接收命令语句后弹出的交互式服务对话框。进一步,模拟指定用户进一步包括:调用win32security.LogonUser系统接口,获取模拟指定用户的令牌;调用win32security.ImpersonateLoggedOnUser系统接口,模拟指定用户;待RevertToSelf系统接口被调用时,取消所模拟的指定用户。进一步,该指定用户对高权限进程自动化测试的方法还包括:判断测试用例是否执行完成;若否,则继续执行测试用例。进一步,测试用例对应的系统接口包括以下系统接口中的一个或多个:打开注册表、添加注册表项、读取注册表项值、设置注册表项值、删除注册表项、删除注册表值、关闭注册表、得到桌面目录、获取系统文件夹路径以及获取系统特殊路径。根据本专利技术的另一方面,提供了一种指定用户对高权限进程自动化测试的装置,高权限进程要求的用户测试权限高于指定用户的测试权限,该装置包括:提权模块,适于在以指定用户登录系统后,将提权工具复制到系统目录下,使高权限进程具有其所要求的用户测试权限;用例执行模块,适于执行高权限进程的测试用例;第一判断模块,适于判断测试用例对应的系统接口调用是否需要指定用户执行;模拟调用模块,适于在第一判断模块判断出测试用例对应的系统接口调用需要指定用户执行的情况下,模拟指定用户,通过模拟的指定用户调用测试用例对应的系统接口。进一步,提权模块进一步适于:将提权工具复制到系统目录下,运行命令提示符,接收指定用户输入的命令语句,触发运行提权工具;命令语句包括高权限进程的名称。进一步,提权模块还适于:根据对话框中显示消息的点击命令,触发运行提权工具;对话框为接收命令语句后弹出的交互式服务对话框。进一步,模拟调用模块进一步适于:调用win32security.LogonUser系统接口,获取模拟指定用户的令牌;调用win32security.ImpersonateLoggedOnUser系统接口,模拟指定用户;待RevertToSelf系统接口被调用时,取消所模拟的指定用户。进一步,该指定用户对高权限进程自动化测试的装置还包括:第二判断模块,适于判断测试用例是否执行完成;若否,则触发用例执行模块继续执行测试用例。进一步,测试用例对应的系统接口包括以下系统接口中的一个或多个:打开注册表、添加注册表项、读取注册表项值、设置注册表项值、删除注册表项、删除注册表值、关闭注册表、得到桌面目录、获取系统文件夹路径以及获取系统特殊路径。根据本专利技术提供的技术方案,在高权限进程要求的用户测试权限高于指定用户的测试权限的情况下,通过将提权工具复制到系统目录下,使高权限进程具有其所要求的用户测试权限,并在执行高权限进程的测试用例过程中,通过模拟的指定用户调用需要指定用户执行的测试用例对应的系统接口。本专利技术提供的技术方案不仅简单有效地解决了测试过程中需要高权限的问题,而且还避免了提权后系统接口调用失败,丰富了自动化测试场景,优化了自动化测试方法。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的指定用户对高权限进程自动化测试的方法的流程示意图;图2示出了根据本专利技术另一个实施例的指定用户对高权限进程自动化测试的方法的流程示意图;图3示出了根据本专利技术一个实施例的指定用户对高权限进程自动化测试的装置的功能结构示意图;图4示出了根据本专利技术另一个实施例的指定用户对高权限进程自动化测试的装置的功能结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的指定用户对高权限进程自动化测试的方法的流程示意图,其中,高权限进程要求的用户测试权限高于指定用户的测试权限,如图1所示,该方法包括如下步骤:步骤S100,在以指定用户登录系统后,将提权工具复制到系统目录下,使高权限进程本文档来自技高网
...
指定用户对高权限进程自动化测试的方法及装置

【技术保护点】
一种指定用户对高权限进程自动化测试的方法,所述高权限进程要求的用户测试权限高于所述指定用户的测试权限,所述方法包括:在以所述指定用户登录系统后,将提权工具复制到系统目录下,使所述高权限进程具有其所要求的用户测试权限;执行所述高权限进程的测试用例;判断所述测试用例对应的系统接口调用是否需要指定用户执行;若是,则模拟所述指定用户,通过模拟的指定用户调用所述测试用例对应的系统接口。

【技术特征摘要】
1.一种指定用户对高权限进程自动化测试的方法,所述高权限进程要求的用户测试权限高于所述指定用户的测试权限,所述方法包括:在以所述指定用户登录系统后,将提权工具复制到系统目录下,使所述高权限进程具有其所要求的用户测试权限;执行所述高权限进程的测试用例;判断所述测试用例对应的系统接口调用是否需要指定用户执行;若是,则模拟所述指定用户,通过模拟的指定用户调用所述测试用例对应的系统接口。2.根据权利要求1所述的方法,其特征在于,将提权工具复制到系统目录下,使所述高权限进程具有其所要求的用户测试权限进一步包括:将提权工具复制到系统目录下,运行命令提示符,接收所述指定用户输入的命令语句,触发运行所述提权工具;所述命令语句包括所述高权限进程的名称。3.根据权利要求2所述的方法,其特征在于,触发运行所述提权工具进一步包括:根据对话框中显示消息的点击命令,触发运行所述提权工具;所述对话框为接收所述命令语句后弹出的交互式服务对话框。4.根据权利要求1-3任一项所述的方法,其特征在于,模拟所述指定用户进一步包括:调用win32security.LogonUser系统接口,获取模拟所述指定用户的令牌;调用win32security.ImpersonateLoggedOnUser系统接口,模拟所述指定用户;待RevertToSelf系统接口被调用时,取消所模拟的指定用户。5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:判断所述测试用例是否执行完成;若否,则继续执行所述测试用例。6.根据权利要求1-3任一项所述的方法,其特征在于,所述测试用例对应的系统接口包括以下系统接口中的一个或多个:打开注册表、添加注册表项、读取注册表项值、设置注册表项值、删除注册表项、删除注册表值、关闭注册表、得到桌面目录、获取系统文件夹路径以及获取系统特殊路径。7.一种指定用户对高权限进程自动化测试的装置,所述高权限...

【专利技术属性】
技术研发人员:刘双
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1