论文部分内容阅读
众所周知,在快速的迭代开发中,产品新版本的发布频率愈加频繁,因此回归测试的重要性便愈加突出。在回归测试中,产品大部分的功能都没有发生改变,这样测试人员就需要对相同的功能进行反复的测试,而这些测试重复的。在回归测试中,软件产品在发布之前,都会由测试人员对产品做最后的确认,测试人员一般要在企业官网下载软件产品,然后在本地进行安装,以确认下载的产品是否为最后要发布的产品,并且产品能否正确的进行安装。这种测试,往往是对特定产品的测试,并且不断的重复,但是却需要特定的人,反反复复的去做测试。为了解放人力,让测试人员可以去其他更加复杂、有意义的工作,那么让这些下载和安装测试工作自动化执行是必然的趋势。基于此需求,本文设计并实现了一个应用程序的自动化下载和安装工具,该自动化工具主要分为两个部分,自动化下载模块和自动化安装模块。本文主要完成的工作有以下几方面:1)深入分析了 Selenium自动化测试框架和AutoItv3脚本。本文介绍了Selenium自动化测试框架的发展,研究了 Selenium的工作原理和隐藏在其背后的技术,并掌握了 Selenium Webdriver定位浏览器控件的方法,及Firebug定位控件的方法。同时对AutoItv3脚本的编程语言进行了系统的学习,在学习的同时掌握了其运行的机制和自带的窗口/控件识别工具的使用,为工具的研发打下了坚实的基础。2)设计并实现了工具的自动化下载模块。通过对需求进行详细的分析,得出了本模块需要模拟完成的功能有自动启动浏览器、获取控件在网页中的位置信息、获取网页内容、登录、搜索资源、实现页面的正确跳转以及资源的下载等。本模块主要是通过Selenium Webdriver提供的定位方法对浏览器中各个控件定位,获取能够识别该控件的信息,然后配置环境,编写Java程序调用Selenium Webdriver的API向浏览器发送命令,模拟人对浏览器的操作,实现自动化下载。3)设计并实现工具的自动化安装模块。通过研究工具的实际应用的需求,得到自动化下载模块需要模拟完成的功能有应用程序的自动启动、鼠标键盘状态转换、选择安装语言、定位控件/窗口信息、安装界面跳转、程序卸载、日志等。自动化安装中要模拟人的操作同样需要精确定位控件/窗口,本模块使用Autolt自带的工具对控件/窗口进行定位,获取可以唯一确定控件的标志,接着编写AU3脚本,实现相应的自动化功能。完成脚本的编写后,把脚本编译成可执行文件,就可以在Java程序中对其进行启动,等自动化下载完成后,对程序进行自动化安装。通过该工具,测试人员可以从重复的下载和安装测试中解放出来,减少了手动测试中由于人的主观因素导致的错误,提高了测试效率。