8.3.6 添加日志报告
在项目中会处理大量的日志,可以使用Apache的log4j日志框架来处理,使用前需要添加log4j.properties进行配置,配置代码如下:
log4j.rootCategory=INFO, toConsole, toFile log4j.logger.toConsole = INFO log4j.appender.toConsole=org.apache.log4j.ConsoleAppender log4j.appender.toConsole.layout=org.apache.log4j.PatternLayout log4j.appender.toConsole.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t]-[%p] %m%n log4j.logger.toFile = INFO log4j.appender.toFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.toFile.file=fileLog log4j.appender.toFile.append=true log4j.appender.toFile.encoding=utf-8 log4j.appender.toFile.layout=org.apache.log4j.PatternLayout log4j.appender.toFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t]-[%p] %m%n |
8.4 脚本开发
自动化脚本的开发调试,是整个自动化测试流程中不可或缺的一部分。优质而稳定的自动化脚本,可以减少脚本后期的维护成本,并保证每次测试执行过程中的稳定性。
8.4.1 编写测试脚本
具体步骤如下。
(1)新建一个存放测试脚本的包com.test.autotest.testcase,创建业务测试脚本LoginAction,它继承前面开发框架编写的Action类,因为Action类中包含了测试数据、测试驱动程序和公共方法,可以在LoginAction中使用这些公共方法。该测试脚本需要重写CommonMethod方法,该方法主要实现业务组件的功能,代码如下:
publicclass LoginAction extends Action { public LoginAction(AutoTestUtil driverPar, String testCasePath, String sheetName, int dataList) { super(driverPar, testCasePath, sheetName, dataList); // TODO Auto-generated constructor stub } @Override publicvoidCommonMethod() { //需要访问的Url String Url = "http://127.0.0.1:8080/app/"; //打开浏览器,在浏览器中输入Url MyDriver.get(Url); //等待id为j_username的元素出现 MyDriver.WaitForElement(By.id("j_username")); //在用户名的输入框中输入从Excel中获取的用户名 MyDriver.Type(By.id("j_username"), otestdata.GetItem("用户名")); //在密码的输入框中输入从Excel中获取的密码 MyDriver.Type(By.id("j_password"), otestdata.GetItem("密码")); //单击提交按钮 MyDriver.Click(By.xpath("//button[@id='btnSubmit']")); } } |
(2)配置脚本和Excel定义组件的对应关系,通过Action.properties属性文件使测试脚本和Excel中的组件一一对应,Action.properties代码片段如下,等号左侧为Excel中的业务组件名称,右侧为对应的测试脚本,这样测试脚本和Excel中的业务组件名称关联起来:
公共_登录 = com.test.autotest.testcase.LoginAction
8.4.2 调试运行脚本
具体操作如下。
(1)使用ANT运行项目中所有的测试脚本,在Eclipse中用鼠标右键单击build.xml文件,选择"Run as"→"Ant Build"选项,即可读取测试管理器数据,编译业务组件代码,生成测试用例文件。
(2)脚本调试需要注意的以下几点:
调试时建议一次只对单个用例进行调试,不使用并发运行。
运行过程中每步操作都有控制台输出,可以实时监控执行过程,报错输出也会在控制台打印。
修改Log4J日志级别,可以查看详细日志。
(3)执行结果。
运行结束后会生成日志文件fileLog,可以查看运行日志。
若运行过程报错,错误截图会以时间命名并保存在screenshot文件夹下。
项目目录下的test-output文件夹中会生成单次测试报告,可以查看。
若配置执行结果插入数据库,则可在数据库中查看执行结果及报错信息。
8.4.3 上传脚本
本项目采用Git版本控制工具来管理脚本,调试编译通过后把脚本上传到Git服务器。在使用Git之前,需要安装Eclipse的EGit插件,安装EGit插件的方法可参考TestNG的安装,EGit地址是:http://download.eclipse.org/egit/updates。
(1)安装好EGit插件,选择需要上传的项目,单击鼠标右键,在弹出菜单中选择"Team"选项,单击"Share Project"选项,出现如图8-12所示Share Project界面的,选择Git选项,再单击"Next"按钮。
图8-12 选择代码库Git
(2)开始创建一个Repository,如图8-13所示,选择项目,然后单击"Finish"按钮,创建Repository成功。
图8-13 创建Repository
(3)选择项目,单击右键,选择"Team"→"Commit"选项,出现如图8-14所示的提交代码窗口,选择要提交的文件,在"Commit Message"输入框中输入本次提交代码的原因及修改的内容,单击"Commit and Push"按钮开始提交代码到Git服务器。
图8-14 选择提交代码窗口
(4)单击"Commit and Push"按钮后,在如图8-15所示的界面上,输入项目在Git上的URL、用户名和密码,单击"Finish"按钮提交代码,完成代码的提交。
图8-15 提交代码
8.5 持续集成
开发工程师和自动化测试工程师完成本地计算机代码构建后把代码提交到代码库SVN或Git中,持续集成平台获取测试脚本,完成脚本的编译,执行自动化单元测试,通过Sonar完成代码静态扫描,将代码打包后部署到不同的测试环境,根据定时任务进行自动化集成测试,执行完自动化测试后,生成测试报告,通过邮件发送测试结果给测试人员和开发人员,这是整个持续集成的过程。下面介绍使用Jenkins作为持续集成工具实施自动化集成测试。
8.5.1 Jenkins服务器搭建
持续集成的环境搭建采用Jenkins作为持续集成的服务器,下面讲述搭建配置Jenkins服务器的步骤。
(1)下载Tomcat安装包,解压安装包放置到C盘,如图8-16所示。
(2)添加环境变量:CATALINA_HOME=C:\tomcat。
(3)下载Jenkins的WAR包,拷贝到C:\tomcat\webapps目录下。
(4)双击C:\tomcat\bin\startup.bat文件,如图8-17所示,启动Tomcat服务器。
(5)访问http://127.0.0.1:8080,进入Jenkins主界面,如图8-18所示。
图8-18 Jenkins主界面
8.5.2 Jenkins相关插件
Jenkins中采用插件来集成管理,Jenkins插件非常丰富,包含权限、编译、打包、报表、邮件和自动化测试等各种各样的插件,在执行自动化测试的时候经常需要安装Email Extension Plugin插件来发送邮件以及HTML Publisher plugin插件来生成HTML报告。下面开始介绍Jenkins中的插件管理。
(1)登录Jenkins服务器首页,选择左侧的"系统管理"→"管理插件"选项,然后在界面中单击"可选插件"选项卡,如图8-19所示。
图8-19 Jenkins插件
(2)在"Filter"文本框中输入要查找的插件,在返回结果列表中选择需要安装的插件后,单击"直接安装"按钮,Jenkins会自动安装插件。
(3)安装成功后可以在"已安装"选项卡中查看该插件,可以设置是否启用,也可以在该界面卸载不需要的插件如图8-20所示。
图8-20 Jenkins插件界面
版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。