前言:
在我們使用maven+testng+restassured+reportng實現接口測試框架時,會發現在本機創建項目,進行一些pom引用和簡單的封裝后,很快就可以直接利用idea自帶的testng插件直接運行testng.xml文件中我們寫好的case,但當我們脫離了idea等編輯工具時,怎么讓我們的接口測試項目跑起來呢???有了這個思考后,就剩怎么實現了
解決過程:
解決方案一,利用命令運行;
命令如下: java org.testng.TestNG testng1.xml
看起來很簡單把,一句命令搞定,但是發現根本行不通,一直報錯“找不到或無法加載主類 org.testng.TestNG”,百度說的是testng包沒有加載,環境變量設置有問題。然而設置好了環境變量也沒什么用,此種方式正確的解決方式如下,別人寫的很清晰,所以直接甩鏈接了:https://blog.csdn.net/u011441473/article/details/80378082
本機可以執行命令后,打開jenkins,添加構建后操作,選擇excute windows batch command,輸入執行的命令就好,如果是在linux上,則選擇excute shell (前提環境變量等准備好)
解決方案二:例用maven運行testng.xml文件
在pom文件中定義build方式:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <!--maven-surefire-plugin的test目標會自動執行測試源碼路徑(默認為src/test/java/)下所有符合一組命名模式的測試類--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.7.1</version> <configuration> <suiteXmlFiles> <suiteXmlFile>testng.xml</suiteXmlFile> </suiteXmlFiles> </configuration> </plugin> </plugins> </build>
輸入mvn test就可以編譯執行testng.xml文件了,不依賴什么環境配置等,感覺比第一種方便多了
在jenkins中直接安裝maven插件,如下圖利用插件去build,直接就運行了一遍testng.xml文件啦~
方案三 通過代碼去運行 testng.xml文件
public class TestngRun { public static void main(String[] args){ TestNG testng = new TestNG(); List suites = Lists.newArrayList(); suites.add("C:/WorkSpace/mavenRes/testng.xml");//path to xml.. testng.setTestSuites(suites); testng.run(); } }
同方法一的jenkins中 輸入Javac命令+該java文件路徑 就能運行tesng.xml文件;
*個人偏向第二種和第三種方式,第一種依賴多不穩定,和jenkins集成推薦第二種;
以上~~