标签归档 » Hudson

GAT2.0使用文档(概念篇)

目 录 2.3 用例开发架构 2.4 代码结构 对于Web UI自动化和接口自动化来说,图1 中表示的功能可能会有少许差异,下面我将分别做说明。 1)         公共部分 l   单元测试集生成工具:根据用例描述文件来生成Testng 的TestMethod l   公共类库:包含了访问数据库,XML文件等各种公共类 l   单元测试集:由代码生成工具根据用例描述文件自动生成,一个Testmehod为一个用例。 l   核心框架:包含操作用例描述文件,测试数据文件,以及数据构造,接口调用,结果验证等功能 2)    接口测试部分 l   场景组件:场景组件是由用例开发人员开发的具有特定格式的方法,场景组件方法是定义在用户自定义的一个类中。场景组件作为用例的重要组成部分,在用例执行时由核心框架通过反射的方式逐个执行。分为3种。具体形式看下图。 图2 a)    红圈1代表了第一种场景组件,用来做断言的断言类组件 b)    红圈2 代表了第二种场景组件,用来作为用例其中一个步骤的步骤组件 c)    红圈3 代表了在用例执行前需要执行的组件 l   用例数据:对于接口测试来说,用例测试数据由于接口测试用例类型的不同分别存储在Excel文件和xml文件中。形式如下: a)    存储在excel中的数据 图3 b)    存储在xml中的数据 图 4 以上数据无论是存储在什么文件中,都是一个段格式化的数据,分别对应着框架中的一个类。 l   用例描述文件:用来描述用例使用了哪些数据或者由哪些场景组件组成等信息。对于接口测试来说用例描述文件根绝测试用例类型也分为两种。形式如下: a)    存储在excel中(这种形式的用例,用例描述和用例数据是放在一起的具体形式查看数据小结) b)    存储在xml中,这种类型的用例是由多个测试场景组件组成的,xml文件中保存了测试场景组件的必要信息。形式如下: 图6 3)    Web UI部分 l   场景组件:场景组件是由用例开发人员开发的具有特定格式的方法,场景组件方法是定义在用户自定义的一个类中。场景组件作为用例的重要组成部分,在用例执行时由核心框架通过反射的方式逐个执行。分为3种。具体形式看下图。 图7 a)    红圈1代表了第一种场景组件,用来做断言的断言类组件,断言类组件方法有三个参数本组件用到的数据的ID,以及期望结果,实际结果 b)    红圈2 代表了第二种场景组件,用来作为用例其中一个步骤的步骤组件(仅有一个参数) c)    红圈3 代表了在用例执行前需要执行的组件(仅有一个参数) l   用例数据:对于Web UI自动化测试来说测试用例数据全部存储在xml文件中 形式如下: 图8 以上数据和接口用例数据一样,都是一个段格式化的数据,分别对应着框架中的一个类。   l   用例描述文件:用来描述用例使用了哪些数据或者由哪些场景组件组成等信息。对于Web UI自动化来说用例描述文件只有xml一种,这种类型的用例是由多个测试场景组件组成的,xml文件中保存了测试场景组件的必要信息。形式如下: 图-9 2.3 用例开发架构 开发架构从物理角度看如下图:稍后就图10中的目录用途做详细说明 图10 1)         公共目录 l  Libs:对于接口自动化以及WebUI自动化所使用的所有第三方类库都放在此目录里。 2)         接口相关目录 l  InterfaceAutomation:接口自动化用例,场景组件,测试数据,用例描述文件等均放置在此目录中。总之就是接口自动化相关的文件都在此目录中。 l  DataFiles\Excels: 用于存放单描述接口用例的Excel文件,以及其他参数文件 l  DataFiles\Xmls:用于存放描述多接口用例的Xml文件,一起其他参数文件 l  IATStepGroup:所有测试用例中使用到的场景组件,以及测试用例方法 3)         WebUI相关目录 l   UIAutomation: WebUI自动化用例,场景组件,测试数据,用例描述文件等均放置在此目录中。WebUI自动化相关的文件都在此目录中。 l   DataFiles\Xmls:用于存放描述用例的Xml文件,参数数据文件,页面元素信息文件等。 l   WUATStepGroup:所有测试用例中使用到的场景组件,以及测试用例方法 2.4 代码结构 将IATStepGroup项目导入到,exclipse 后 ,开发架构在Eclipse中的结构如下图,稍后会就下图做相应解释 代码结构图 1)          单元测试用例的生成(GatCreator.java): 看过前面文章的人,可能会问我们把数据写到Excel或者Xml中,用例是怎么开始执行的,其实任何一个程序都会有一个执行入口。在GAT中,用例的执行入口是由Testng的单元测试方法来承担的,GatCreator.java会根据我们之前填写的Excel或者xml文件来生成相应的单元测试方法。 2)          单元测试用例 根据Excel或者xml生成的所有单元测试方法都存放在package [com.gateside.autotesting.generation.unittest]中,这个package下的所有文件包括package本身都是自动生成的。当你想要执行某个用例时到这个package下找到相应的单元测试方法运行即可。   3)         Stepmethod或者叫场景组件方法。 这类方法是由我们自己开发的代码,决定了具体的测试场景以及业务。后面的文章里也会提到。如上图中的package …..

Hudson(Jenkins)持续集成插件开发环境搭建

  Hudson持续集成插件开发环境搭建 这边文章是我2年前发表在百度文库的,最近又帮别人搭建来着。做了些小调整,希望能有用。 一年前自己从无到有的开始接触Hudson,开始接触持续集成。当时我花了两个星期来研究hudson(由于以下问题现在已经改名叫jenkins)并写出了第一个插件,切成功运行,再后来持续研究将编译,环境同步,自动化任务运行等几个内部系统也都通过开发插件的方式集成到一起,做起了公司持续集成的第一个简单版本。再后来交给其他同事继续开发维护。如今同事离职,这事又落到我头上。今天本人又开始搭建hudson插件的开发环境。有些心得,希望纪录下来,希望也能帮我需要的人。   我没有直接安装mavn,eclipse等开发工具,而是先搭建起一个简单的hudson系统。在你开始之前请先确保你 能连上互联网下载东西。 第一步安装java jdk,至于版本的话推荐1.6以上吧。安装好jdk设置环境变量,确保你在cmd中输入java -version有提示你jdk的版本信息等,也就是说确保java jdk能用。如果你连这个都搞不定那就不用继续了。   第二步安装tomcat,这个很简单下载一下,地址自己百度一下。我是在windows上做的所以直接下载了tomcat的可安装版本。安装后自己启动即可。如果启动不了,你可以卸载了,重新已管理员权限再安装即可启动。启动后,在浏览器输入:http://localhost:8080,如果正确打开页面则正常。   第三步安装hudson,其实hudson不需要安装就是一个war包,从网站上下载了,然后放到tomcat下面的webapps文件夹下即可。再次在浏览器输入http://localhost:8080/{你放到webapps下面的war包的名称},即可看到hudson的页面。例如我放到webapps文件下的的war包名称是jenkins,我在浏览器里输入的就是http://localhost:8080/jenkins   第四步安装maven,下载maven后解压缩放到你Apache Software Foundation目录下,这个不是绝对的只是我习惯这么放。然后添加环境变量M2_HOME,然后在path中添加%M2_HOME%\bin即可。在cmd窗口中输入mvn -version 如果提示你了版本信息什么的就算对了。   第五步打开cmd 输入mvn -hpi:create(mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create)然后回车,如果最后没有提示build success。那么你需要做两件事,第一件事就是在你的用户目录下找到.m2这个文件夹。在settings文件中添加 <settings> <pluginGroups> <pluginGroup>org.jenkins-ci.tools</pluginGroup> </pluginGroups>   <profiles> <!– Give access to Jenkins plugins –> <profile> <id>jenkins</id> <activation> <activeByDefault>true</activeByDefault><!– change this to false, if you don’t like to have it on per default –> </activation> <repositories> <repository> <id>repo.jenkins-ci.org</id> <url>http://repo.jenkins-ci.org/public/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>repo.jenkins-ci.org</id> <url>http://repo.jenkins-ci.org/public/</url> </pluginRepository> </pluginRepositories> </profile> </profiles> <mirrors> <mirror> <id>repo.jenkins-ci.org</id> <url>http://repo.jenkins-ci.org/public/</url> <mirrorOf>m.g.o-public</mirrorOf> </mirror> </mirrors> </settings> 如果你的.m2文件夹下没有setting.xml文件那就自己建一个,然后输入上述信息,并保存。 第二件事找到 $M2_HOME/conf/settings.xml file文件将上面的settings内容替换掉然后保存。   再次在cmd中运行mvn -hpi:create,这次会下载很多东西,、 等下载完输入你要创建的插件的项目名称也就是你要在eclips中编辑的项目。最后会提示你build success。 恭喜你你的第一个hudson插件完成了。当然这个插件什么都没有,如果你想开发的话,还需要完成最后一步。   最后一步:在cmd中切换到你刚才创建的插件目录中,运行$ mvn package。 如果是初次运行这句话,那也会下载好多东西。耐心等待吧。 完成后运行 mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes eclipse:eclipse 完成以上几步后,再打开eclips,选在import,再打开的窗口中选择导入一个已经存在的项目。 跟着向导将你刚才创建的插件项目的目录选中,点击完成就可以了。 到这就恭喜你完成了你的第一个hudosn插件的创建以及插件开发环境的搭建。