如果在你的理解中自動化測試就是在eclipse里面講webdriver的包引入,然后寫一些測試腳本,這就是你所說的自動化測試,其實這個還不能算是真正的自動化測試,你見過每次需要運行的時候還需要打開eclipse然后去選擇運行文件嗎?沒有吧!應為那樣真的是很low的!下面說一下經(jīng)理的兩種自動化測試:一、將腳本寫好,放在服務器,通過定時任務去執(zhí)行,這個是針對每天或者一些時間段需要執(zhí)行的任務去做的,但是運用比較少,之前是用來定時檢查線上所有的接口開發(fā)的一套系統(tǒng)。
進入正文,先說一下我們的思想:
1、使用eclipse 加上webdriver 把我們的腳本寫好。
2、所有的腳本不可能放在同一個文件夾里面,有的需要執(zhí)行多次,但是有的只需要一次,這個我們通過testng去實現(xiàn),在我們的testng框架里面這個能夠輕松實現(xiàn),所以我們就將腳本中加如了testng。
3、testng雖然能夠?qū)⒛_本很好的規(guī)劃好,但是他不能夠自動運行,我們必須每次打開運行,比較麻煩,所以我們就想到了我們經(jīng)常用到構(gòu)建項目的jenkins,所以我們就需要在現(xiàn)在的框架上引入jenkins。
4、引入后,如何將他們結(jié)合下面來仔細說說
一、需要的工具、包
1、eclipse 這里必須把環(huán)境變量什么的都配置好?!?/p>
2、selenium 的jar包
3、testng的jar包
二、項目和目錄結(jié)構(gòu)
1、使用eclipse創(chuàng)建一個項目,再在src下創(chuàng)建包,最后在下面創(chuàng)建一個testng的類,或者一個普通的帶main函數(shù)類(都一步到位,直接用testng)
2、在工程同一個目錄下面創(chuàng)建一個文件夾lib,在lib文件夾下創(chuàng)建一個selenium文件夾,再在selenium文件夾下創(chuàng)建一個libs文件夾
3、在eclipse中src的同一個目錄,創(chuàng)建testng.xml文件和一個build.xml文件
目錄結(jié)構(gòu)如下圖:
三、jar包的引入
首先上面的弄好了,我們先不管,現(xiàn)在是需要將selenium的包和testng的包引入到工程里來,不然沒法用,先將下好的各個jar包依次放入之前創(chuàng)建的文件夾中,放入后在build path中去引入。記住testng的jar包在工程中我是引入了的。
四、測試類的編寫以及testng.xml的編寫
1、在包下面創(chuàng)建的測試類,寫一個簡單的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 class NewTest {
@Test
public void f() {
WebDriver driver;
System.setProperty("webdriver.firefox.bin","E:\\Firefox\\firefox.exe");
driver = new FirefoxDriver();
driver.get("http://www.baidu.com");
}
}
自己可以先一步一步調(diào)試程序?qū)Σ粚Α?/p>
2、testng.xml文件里面其實放的就是一個執(zhí)行任務,最簡單的就是我下面這樣,如果你要加入邏輯執(zhí)行,你后面再去研究,都支持的。直接貼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里面的格式就是固定的,只需要將自己的包名字和類名字替換上就行了。把這些弄好了你執(zhí)行一下這個testng,看能否正常執(zhí)行上面的測試腳本,如果沒有需要找找原因。
五、build.xml文件的編寫
build.xml其實就是控制testng.xml去執(zhí)行腳本,這里我們直接把我的xml代碼貼出來。
<?xml version="1.0" encoding="UTF-8"?>
<project name="Demo" default="run" basedir=".">
<echo message="import libs" />
<path id="run.classpath">
<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" classname="org.testng.TestNGAntTask" classpathref="run.classpath" />
<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 id="runpath">
<path refid="run.classpath"/>
<pathelement location="build/classes"/>
</path>
<target name="run" depends="compile">
<testng classpathref="runpath" outputDir="test-output">
<xmlfileset dir="${basedir}" includes="testng.xml"/>
<jvmarg value="-ea" />
</testng>
</target>
</project>
?上面的xml代碼不用更改,直接可以用,如果有的人的代碼“
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="run.classpath" />” 這一行會報錯,說沒用還是什么的,這個我遇見的時候是因為我build path里面的包有問題,重引入一下,然后講需要的包按照上面的文件路徑引入就行了。
到目前位置環(huán)境大部分好了,可以在cmd命令模式下切換到工程所在目錄,直接運行ant命令就行,看是否報錯,如果不抱錯,會直接啟動瀏覽器。
六、jenkins的配置
1、安裝百度一下就行了,就一個命令
2、完成后在創(chuàng)建任務頁面選擇創(chuàng)建任務->輸入項目的名字->選擇的時候選擇“構(gòu)建一個自由風格的軟件項目”->“構(gòu)建”->在構(gòu)建里面輸入下面圖片信息。build file是你工程的目錄,如果是基礎(chǔ)服務,其他的不用管了,然后保存。
3、現(xiàn)在可以直接運行了。
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰(zhàn)倉庫,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!?文章來源:http://www.zghlxwxcb.cn/news/detail-853574.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-853574.html
到了這里,關(guān)于如何使用jenkins、ant、selenium、testng搭建自動化測試框架的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!