设为首页 收藏本站
查看: 1237|回复: 0

[经验分享] jenkins、ant、selenium、testng搭建自动化测试框架

[复制链接]

尚未签到

发表于 2018-1-6 21:00:51 | 显示全部楼层 |阅读模式
  如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗?没有吧!应为那样真的是很low的!下面说一下经理的两种自动化测试:一、将脚本写好,放在服务器,通过定时任务去执行,这个是针对每天或者一些时间段需要执行的任务去做的,但是运用比较少,之前是用来定时检查线上所有的接口开发的一套系统。二、就是本文讲的。
  进入正文,先说一下我们的思想:
  1、使用eclipse 加上webdriver 把我们的脚本写好。
  2、所有的脚本不可能放在同一个文件夹里面,有的需要执行多次,但是有的只需要一次,这个我们通过testng去实现,在我们的testng框架里面这个能够轻松实现,所以我们就将脚本中加如了testng。
  3、testng虽然能够将脚本很好的规划好,但是他不能够自动运行,我们必须每次打开运行,比较麻烦,所以我们就想到了我们经常用到构建项目的jenkins,所以我们就需要在现在的框架上引入jenkins。
  4、引入后,如何将他们结合下面来仔细说说
  一、需要的工具、包
  1、eclipse 这里必须把环境变量什么的都配置好。 
  2、selenium 的jar包
  3、testng的jar包
  二、项目和目录结构
  1、使用eclipse创建一个项目,再在src下创建包,最后在下面创建一个testng的类,或者一个普通的带main函数类(都一步到位,直接用testng)
  2、在工程同一个目录下面创建一个文件夹lib,在lib文件夹下创建一个selenium文件夹,再在selenium文件夹下创建一个libs文件夹
  3、在eclipse中src的同一个目录,创建testng.xml文件和一个build.xml文件
  目录结构如下图:

  三、jar包的引入
  首先上面的弄好了,我们先不管,现在是需要将selenium的包和testng的包引入到工程里来,不然没法用,先将下好的各个jar包依次放入之前创建的文件夹中,放入后在build path中去引入。记住testng的jar包在工程中我是引入了的。
  四、测试类的编写以及testng.xml的编写
  1、在包下面创建的测试类,写一个简单的selenium程序,如下:
  

package com.mushishi;  

  
import org.testng.annotations.BeforeClass;
  
import org.testng.annotations.Test;
  
import org.openqa.selenium.WebDriver;
  
import org.openqa.selenium.firefox.FirefoxDriver;
  


  
public>  
@Test
  
public void f() {
  
WebDriver driver;
  
System.setProperty("webdriver.firefox.bin","E:\\Firefox\\firefox.exe");
  
driver = new FirefoxDriver();
  
driver.get("http://www.baidu.com");
  
}
  
}
  

  

  自己可以先一步一步调试程序对不对。
  2、testng.xml文件里面其实放的就是一个执行任务,最简单的就是我下面这样,如果你要加入逻辑执行,你后面再去研究,都支持的。直接贴testng代码
  

<?xml version="1.0" encoding="UTF-8"?>  
<suite name="Suite" parallel="false">
  
<test name="Test">
  
<classes>
  
<!-- 下面这个name是你自己包名字然后.你的类名 -->
  
<class name="com.mushishi.NewTest"/>
  
</classes>
  
</test> <!-- Test -->
  
</suite> <!-- Suite -->
  

  testng里面的格式就是固定的,只需要将自己的包名字和类名字替换上就行了。把这些弄好了你执行一下这个testng,看能否正常执行上面的测试脚本,如果没有需要找找原因。
  五、build.xml文件的编写
  build.xml其实就是控制testng.xml去执行脚本,这里我们直接把我的xml代码贴出来。
  

<?xml version="1.0" encoding="UTF-8"?>  
<project name="Demo" default="run" basedir=".">
  
<echo  message="import libs" />
  
<path>
  
<fileset dir="${basedir}">
  
<include name="lib/testng.jar" />
  
<include name="lib/sikuli-script.jar" />
  
</fileset>
  
<fileset dir="${basedir}/lib/selenium">
  
<include name="selenium-java-2.46.0.jar" />
  
<include name="libs/*.jar" />
  
</fileset>
  
</path>

  
<taskdef name="testng">  
<target name="clean">
  
<delete dir="build"/>
  
</target>
  
<target name="compile" depends="clean">
  
<echo message="mkdir"/>
  
<mkdir dir="build/classes"/>
  
<javac srcdir="src" destdir="build/classes" debug="on" encoding="UTF-8" includeAntRuntime="false">
  
<classpath refid="run.classpath"/>
  
</javac>
  
</target>
  
<path>
  
<path refid="run.classpath"/>
  
<pathelement location="build/classes"/>
  
</path>
  
<target name="run" depends="compile">
  
<testng >  
<xmlfileset dir="${basedir}" includes="testng.xml"/>
  
<jvmarg value="-ea" />
  
</testng>
  
</target>
  
</project>
  

  上面的xml代码不用更改,直接可以用,如果有的人的代码“
  

<taskdef name="testng">
  到目前位置环境大部分好了,可以在cmd命令模式下切换到工程所在目录,直接运行ant命令就行,看是否报错,如果不抱错,会直接启动浏览器。
  

  六、jenkins的配置
  1、安装百度一下就行了,就一个命令
  2、完成后在创建任务页面选择创建任务->输入项目的名字->选择的时候选择“构建一个自由风格的软件项目”->“构建”->在构建里面输入下面图片信息。build file是你工程的目录,如果是基础服务,其他的不用管了,然后保存。

  3、骚年去运行吧。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-432364-1-1.html 上篇帖子: Jenkins内置环境变量的使用 下篇帖子: Jenkins CI
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表