java 自动化测试平台构建思想

很多人迷信于自动化测试平台,认为这玩意是万能的,对于测试人员,不需要写代码,只需要在平台上选择一下,输入一点参数,就能达到测试的目的。想法是不错的,但关键在于实现这个平台的过程,这个就需要一个WEB开发的功底了,我们今天不谈WEB开发,就谈谈在构建这个平台前所需要做的一些工作。以接口测试为例,假如我们可以用XML来描述我们的脚本,然后在平台上选择一下啊,输入一些参数啊,然后生成一个临时的XML文件,这样也就能运行了,对吧,所以,现在把问题转化成为了如何用XML来描述我们的脚本。其实原理很简单,大家都应该知道,就是通过JAVA的反射来完成,比如,一个XML中,一个结点名表示一个方法的名称,然后结合对象后,再去invoke一下,就能执行这一句XML了,所以,首先,我们得设计一下这个XML的格式,我是这样来做的:

接下来,当然是解析这个XML了,JAVA解析XML的方式有很多种,我用的是DOM4J+XPATH的方式来做的。

解析完后,比如第一句:<url>${url}/getIpInfo.php?ip=210.75.225.254</url>,这其中的<url>表示方法名称,${url}/getIpInfo.php?ip=210.75.225.254这一句表示参数,其中${url}表示自定义的一些参数,多个参数以逗号分割。既然有方法名了,由于JAVA的invoke需要一个对象来invoke,所以,这时候,就需要一个对象了,其实对象的处理也有很多种,可以NEW一个对象,然后把NEW出来的对象放在一个静态变量里面保存,在以后要用的时候直接取。

我采取的方式是做了一个自定义的注解,在启动的时候,会自动的生成加了该注解的对象:

如此一来,对象与方法名都有了,这时候我们就可以invoke了,就能执行这句XML的结点所对应的方法了。需要注意的是有的方法需要有返回值,这时候,我们加个return的属性就可以了,把return出的值,自动的保存在静态变量中就可以了,方便下面调用。

既然XML方式写脚本可以了,那么,在搭建平台时,既可以生成一个XML的临时文件,也可以上传一个XML文件上去,再执行,就能达到我们的平台的目的了。是不是很方便?

需要源码的可以私聊我!

时间: 2024-10-09 07:49:51

java 自动化测试平台构建思想的相关文章

Java大型互联网-构建高并发和高可用的电商平台架构实践原理

并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. "高可用性"(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性. 一. 设计理念 1. 空间换时间 多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返

Jmeter&amp;Ant构建自动化测试平台

JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术. Apache软件基金会的Stefano Mazzocchi JMeter的最初的开发.他写道:它主要对 Apache JServ (现在称为如Apache Tomcat项目)的性能进行测试.Apache后来重新设计JMeter 增强的图形用户界面和添加功能测试能力.Jmeter最初使用到性能测试,后来经过修改,可以对软件的不 仅仅进行性能测试,还可以进行接口测试与功能,本文章在这里要详细介绍的就是,使用Jmete

Jenkins+Ant+Jmeter自动化测试平台

        持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快的发现集成错误.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件. jenkins是基于java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布.测试项目,监控外部条用执行的工作. 项目构建 通过构建工具对多个项目文件进行

Java的平台无关性

转载自:http://www.cnblogs.com/Y/archive/2011/03/22/JavaVM_Learning_Chapter2_Platform_Independence.html 为什么要平台无关? 废话!当然是方便了,你随手写一个Hello,world!,地球上所有的设备都能显示出来,那多牛B!写hello,world! 你可能觉得没有用,那要是写一句“今年过节不收礼...”,钱是不是就开始掉下来了? Java体系结构对平台(操作系统)无关的支持 这部分是本章中我最觉得有用

Java中的核心技术思想

Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少.对核心概念和思想的掌握可以帮助我们举一反三.触类旁通,有助于提升我们对整个Java平台的理解力.这里所介绍的是Java技术平台的几个核心概念,其中所蕴含的思想有助于我们更深刻的理解Java技术.Java虚拟机Java虚拟机的主要任务是装在class文件并且执行其中的字节码.Java虚拟机包含一个类装载器,它可以从程序和API中装载class文件.Java API中只有程序执

在Fedora 21上搭建Jenkins+SonarQube的Maven项目自动化测试平台

自动化测试是敏捷开发模型下的一大助力,有了它,测试及开发团队能及时的掌控软件质量和迭代周期,能更好的为软件产品服务,促进软件质量的提升和提高开发的效率. 好处很多,我就不一一说明了. 最近,公司将要开发新产品(分校系统),为了避免敏捷开发下无序,沟通不畅,质量不高等等缺点,决定上自动化测试平台,解放测试团队,让其专注于更多的业务理解工作,也从另一个方面规范所有程序员的开发. 好了,废话不多说,上硬货. 准备阶段 首先需要下载SonarQube和Jenkins.另外,还要先安装好MySQL数据库和

[Java] Apache Ant 构建基础教程

环境:Ubuntu 12.04, java 1.7.0, ant 1.8.2. 前言 Apache Ant 是一个软件自动化构建工具,构建过程包括编译.测试和部署等.它和 Make 工具相似,但由 Java 实现,所以要求 Java 运行环境,非常适合构建 Java 程序. Ant 和 Make 明显不同之处在于 Ant 使用 XML 来表述构建过程与依赖关系,而 Make 使用 Makefile 格式文件.Ant 默认的构建文件名为 build.xml.每一个 build.xml 文件包含一个

自动化工具 自研的接口自动化测试平台

原文:https://testerhome.com/topics/12648 个人自研的自动化测试平台,借鉴了部分HttpRunner的思想和部分代码,主要实现了项目管理.签名方式管理.接口管理.用例管理和测试计划的制定和运行等主要功能,其它的编辑修改都没做,现在只相当于完成了一个Demo吧.环境:Python 3.6.3Django 2.0.1Pymysql 0.8.0Requests 2.18.4 主界面 系统设置 项目管理 测试环境 接口管理 添加接口 用例管理 添加用例 一个用例可以包含

Java基础14:离开IDE,使用java和javac构建项目

Java基础14:离开IDE,使用java和javac构建项目 javac命令初窥 注:以下红色标记的参数在下文中有所讲解. 本部分参考https://www.cnblogs.com/xiazdong/p/3216220.html 用法: javac 其中, 可能的选项包括: -g 生成所有调试信息 -g:none 不生成任何调试信息 -g:{lines,vars,source} 只生成某些调试信息 -nowarn 不生成任何警告 -verbose 输出有关编译器正在执行的操作的消息 -depr