国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

接口自動化測試框架搭建【附詳細(xì)搭建視頻】

這篇具有很好參考價值的文章主要介紹了接口自動化測試框架搭建【附詳細(xì)搭建視頻】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

如果遇到什么問題建議觀看下面視頻:

【敢稱全站第一】B站最全的Python自動化測試深度學(xué)習(xí)教程!學(xué)完即就業(yè),小白也能信手拈來!幫你少走99%的彎路~

一、原理及特點
  參數(shù)放在XML文件中進行管理

  用httpClient簡單封裝一個httpUtils工具類

  測試用例管理使用了testNg管理,使用了TestNG參數(shù)化測試,通過xml文件來執(zhí)行case。

  測試報告這里用到第三方的包ReportNG 項目組織用Maven

二、準(zhǔn)備
  使用工具:eclipse,maven

  用到的第三方j(luò)ar包:dom4j、reportng、testng

  理解難點:httpUtils和xmlUtil工具類的封裝;dom4j使用;CookieStore的應(yīng)用

三、框架構(gòu)思
1、項目結(jié)構(gòu)
接口自動化測試框架搭建【附詳細(xì)搭建視頻】,自動化測試,軟件測試,自動化測試,壓力測試,開發(fā)語言,測試工具

2、用例執(zhí)行流程

接口自動化測試框架搭建【附詳細(xì)搭建視頻】,自動化測試,軟件測試,自動化測試,壓力測試,開發(fā)語言,測試工具?

3、接口調(diào)用流程

接口自動化測試框架搭建【附詳細(xì)搭建視頻】,自動化測試,軟件測試,自動化測試,壓力測試,開發(fā)語言,測試工具?

4、調(diào)度腳本流程

接口自動化測試框架搭建【附詳細(xì)搭建視頻】,自動化測試,軟件測試,自動化測試,壓力測試,開發(fā)語言,測試工具?

四、框架實現(xiàn)

1、輸入?yún)?shù)

  1.1 參數(shù)放在XML文件中進行管理

  例:這里測試獲取角色的接口輸入?yún)?shù)為,page和rows,mapRole.xml內(nèi)容如下 

 <?xml version="1.0" encoding="UTF-8"?>
 
  <map>
 
  <bean beanName="GetRole">
 
  <!--Locator lists -->
 
  <locator name="page" value="1"></locator>
 
  <locator name="rows" value="10"></locator>
 
  </bean>
 
  </map>
 
  1.2 封裝一個xmlUtil工具類負(fù)責(zé)讀取XML,使用第三方的jar包dom4j
 
  1.2.1 xmlUtil中readXMLDocument方法返回值為HashMap<String, String>
 
  public static HashMap<String, String>  readXMLDocument(String beanName,String xmlName){
 
  }
 
  參數(shù)xmlName(xml文件的名字); 參數(shù)beanName(xml文件中節(jié)點的名稱);
 
  1.3 封裝一個CookieUtil工具類,通過CookieStore儲存cookie
 
  1.3.1 CookieUtil類中setCookieStore方法返回值為CookieStore
 
  public  CookieStore setCookieStore(HttpResponse httpResponse) {
 
  }
 
  1.4 用httpClient簡單封裝一個httpUtils工具類有g(shù)et.post,put,delete方法
 
  1.4.1 httpUtils中post封裝方法如下:
 
  public CloseableHttpResponse post(String url, Map<String, String> params,CloseableHttpClient httpclient,CookieStore cookieStore){
 
  }

2、返回參數(shù)

  2.1 創(chuàng)建一個接口返回對象ResponseBean,

  對象ResponseBean,包括status、statusCode、contentType、body、url、method、cookies

  2.2 在工具類中在創(chuàng)建一個ReponseUtil工具類

  ReponseUtil工具類負(fù)責(zé)將請求的返回數(shù)據(jù)CloseableHttpResponse 轉(zhuǎn)換成ResponseBean

  public ResponseBean setResponseBean(CloseableHttpResponse httpResponse) {

  }

3、測試用例

  測試用例管理使用了testNg管理 ,使用了TestNG參數(shù)化測試,通過xml文件來執(zhí)行case

  3.1 測試case腳本

public class GetRoleTest {

static CookieStore cookieStore ;

static CookieUtil cookieUtil=new CookieUtil() ;

CloseableHttpClient client;

HttpUtils httpUtils=HttpUtils.getInstance();

@Parameters({ "url", "objBean" ,"statusCode","xmlName"})

@BeforeSuite

/*

* 登錄進入系統(tǒng)獲取JSESSIONID放入到CookieStore中

* */

public  void TestLoginIn(String url ,String objBean, String statusCode,String xmlName) {

Map<String,String> params=xmlUtil.readXMLDocument(objBean,xmlName);

client = HttpClients.createDefault();

CloseableHttpResponse httpResponse= httpUtils.post(url, params, client, cookieStore);

//cookieUtil.printResponse(httpResponse);

cookieStore=cookieUtil.setCookieStore(httpResponse);

}

@Parameters({ "url", "objBean" ,"statusCode","body","xmlName"})

@Test(priority = 2)

public  void TestGetRole(String url ,String objBean, String statusCode,String body,String xmlName) {

Map<String,String> params=xmlUtil.readXMLDocument(objBean,xmlName);

client = HttpClients.custom().setDefaultCookieStore(cookieStore).build();

CloseableHttpResponse httpResponse= httpUtils.post(url, params, client, cookieStore);

ResponseBean rb=new ReponseUtil().setResponseBean(httpResponse);

//        add Assert

Assert.assertEquals("OK", rb.getStatus());

Assert.assertEquals(statusCode, rb.getStatusCode());

Assert.assertEquals(true, rb.getBody().contains(body));

}

@AfterSuite

public void closeClient(){

try {

// 關(guān)閉流并釋放資源

client.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

【注】?因為API接口測試時每次都要校驗Cookie,所有我們每次都先執(zhí)行登錄操作去獲取Cookie

3.2 xml文件的編寫

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="TestGetRole" parallel="classes" thread-count="5">

<parameter name="url" value="/sys/login" />

<parameter name="objBean" value="loginIn" />

<parameter name="status" value="OK" />

<parameter name="statusCode" value="200" />

<parameter name="xmlName" value="mapRole" />

<test name="TestGetRole" preserve-order="true">

<parameter name="url" value="/json/getRoleInfo" />

<parameter name="objBean" value="GetRole" />

<parameter name="status" value="OK" />

<parameter name="statusCode" value="200" />

<parameter name="body" value="roleName" />

<classes>

<class name="com.lc.testScript.GetRoleTest">

<methods>

<include name="TestGetRole" />

<!--<include name="TestGetRole2" />-->

</methods>

</class>

</classes>

</test>

</suite>

 右鍵->run as ->TestNG Suite,這個場景的的測試用例就可以運行了

4、測試報告和項目組織

  測試報告這里用到第三方的包ReportNG 項目組織用Maven

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

..........................................

..........................................

..........................................

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<xmlFileName1>TestGetRole.xml</xmlFileName>

.................這里寫testNG對應(yīng)的XML名稱----------------------

<xmlFileName10>TestGetUser.xml</xmlFileName>

</properties>

<dependencies>

..........................

</dependencies>

<build>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-plugin</artifactId>

<version>2.19</version>

<configuration>

<suiteXmlFiles>

<suiteXmlFile>src/test/java/testSuites/${xmlFileName}</suiteXmlFile>

.................略............

..............這里的和properties中的xmlFileName想對應(yīng)............

<suiteXmlFile>src/test/java/testSuites/${xmlFileName10}</suiteXmlFile>

</suiteXmlFiles>

</configuration>

</plugin>

<!-- 添加插件,添加ReportNg的監(jiān)聽器,修改最后的TestNg的報告 -->

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-plugin</artifactId>

<version>2.5</version>

<configuration>

<properties>

<property>

<name>usedefaultlisteners</name>

<value>false</value>

</property>

<property>

<name>listener</name>

<value>org.uncommons.reportng.HTMLReporter</value>

</property>

</properties>

<workingDirectory>target/</workingDirectory>

</configuration>

</plugin>

<plugin>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.5.1</version>

<configuration>

<source>1.8</source>

<target>1.8</target>

</configuration>

</plugin>

</plugins>

</build>

</project>

【注】因為是maven的項目所以要將testSuite的xml文件放在maven的test目錄下,這樣右鍵pom.xml文件maven test,所有的測試用例就開始執(zhí)行了

測試報告

接口自動化測試框架搭建【附詳細(xì)搭建視頻】,自動化測試,軟件測試,自動化測試,壓力測試,開發(fā)語言,測試工具

 框架目前存在的不足

  1、數(shù)據(jù)庫數(shù)據(jù)校驗這一塊的功能還沒有完善,計劃用MyBatis

  2、參數(shù)使用了xml文件配置雖然靈活但有些繁瑣,目前還沒想到好的解決方案,testlink是否可以嘗試一下呢

最后允許我對你們說一段話:

如果你也在往自動化測試開發(fā)方向發(fā)展

在適當(dāng)?shù)哪挲g,選擇適當(dāng)?shù)膷徫?,盡量去發(fā)揮好自己的優(yōu)勢

我的自動化測試之路,一路走來都離不每個階段的計劃,因為自己喜歡規(guī)劃和總結(jié),所以,我和朋友特意花了一段時間整理編寫了以上的《自動化測試工程師進階路線》,也整理了不少【網(wǎng)盤資源】,需要的朋友可以掃描下方小卡片獲取網(wǎng)盤鏈接。希望會給你帶來幫助和方向。文章來源地址http://www.zghlxwxcb.cn/news/detail-732335.html

到了這里,關(guān)于接口自動化測試框架搭建【附詳細(xì)搭建視頻】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python web自動化測試框架搭建(功能&接口)——通用模塊

    Python web自動化測試框架搭建(功能&接口)——通用模塊

    1、通用模塊: config.conf: 公共配置文件,配置報告、日志、截圖路徑,以及郵件相關(guān)配置 logger: 日志模塊 main.py: 執(zhí)行器,負(fù)責(zé)執(zhí)行整體測試任務(wù)模塊 testrunner.py: 負(fù)責(zé)測試用例執(zhí)行和結(jié)果收集 utils.py: 公共方法,如創(chuàng)建報告文件夾、生成測試報告、發(fā)送郵件 2、日志模塊: 3、

    2024年01月16日
    瀏覽(23)
  • python+excel的接口自動化測試框架實戰(zhàn)教程(視頻講解+源碼)

    python+excel的接口自動化測試框架實戰(zhàn)教程(視頻講解+源碼)

    目錄 設(shè)計流程圖 Excel和結(jié)果預(yù)覽 框架結(jié)構(gòu) Excel相關(guān) 日志封裝 正則操作 核心操作 測試操作 測試報告發(fā)送郵件類 運行 這張圖是我的excel接口測試框架的一些設(shè)計思路。 首先讀取excel文件,得到測試信息,然后通過封裝的requests方法,用unittest進行測試。 其中,接口關(guān)聯(lián)的參數(shù)

    2024年02月03日
    瀏覽(24)
  • 【實戰(zhàn)詳解】如何快速搭建接口自動化測試框架?Python + Requests

    【實戰(zhàn)詳解】如何快速搭建接口自動化測試框架?Python + Requests

    本文主要介紹如何使用Python語言和Requests庫進行接口自動化測試,并提供詳細(xì)的代碼示例和操作步驟。希望能對讀者有所啟發(fā)和幫助。 隨著移動互聯(lián)網(wǎng)的快速發(fā)展,越來越多的應(yīng)用程序采用Web API(也稱為RESTful API)作為數(shù)據(jù)交換的主要方式。針對API進行自動化測試已經(jīng)變得非

    2024年02月09日
    瀏覽(24)
  • HttpRunnerManager接口自動化測試框架在win環(huán)境下搭建教程

    HttpRunnerManager接口自動化測試框架在win環(huán)境下搭建教程

    近幾日一直在研究如何把接口自動化做的順暢,目前用的是輕量級jmeter+ant+Jenkins自動化測試框架,目前測試界的主流是python語言,所以一直想用搭建一個基于python的HttpRunnerManager。公司項目也比較多,在上班的過程中偶爾研究了一下,于是就利用周末,在家操作了一發(fā)。在搭

    2024年02月11日
    瀏覽(20)
  • python接口自動化測試 —— unittest框架suite、runner詳細(xì)使用

    python接口自動化測試 —— unittest框架suite、runner詳細(xì)使用

    測試套件,理解成測試用例集 一系列的測試用例,或測試套件,理解成測試用例的集合和測試套件的集合 當(dāng)運行測試套件時,則運行里面添加的所有測試用例 測試運行器 用于執(zhí)行和輸出結(jié)果的組件 使用測試套件時,測試用例的執(zhí)行順序可以自定義,按照添加的順序執(zhí)行 有

    2024年03月16日
    瀏覽(28)
  • (Python)Requests+Pytest+Allure接口自動化測試框架從0到1搭建

    (Python)Requests+Pytest+Allure接口自動化測試框架從0到1搭建

    前面,已經(jīng)學(xué)習(xí)了如何用SpringBoot寫接口以及與Mysql數(shù)據(jù)庫進行交互,具體可查閱下面的這篇博客,今天學(xué)習(xí)一下基于Python的接口自動化測試框架的搭建,主要包括以下內(nèi)容:利用request庫發(fā)送請求,請求數(shù)據(jù)參數(shù)化處理,還涉及到數(shù)據(jù)庫(Mysql+MongDB)方面的交互,包括如何取數(shù)

    2024年02月13日
    瀏覽(722)
  • 如何從零開始搭建自動化測試框架?詳細(xì)步驟給到你

    如何從零開始搭建自動化測試框架?詳細(xì)步驟給到你

    目錄 前言 1、確定需求 2、選擇測試工具 3、選擇編程語言 4、設(shè)計測試框架結(jié)構(gòu) 5、編寫測試用例 6、編寫測試腳本 7、執(zhí)行自動化測試 8、分析測試結(jié)果 9、設(shè)計測試用例 10、組織測試數(shù)據(jù) 11、選擇開發(fā)工具 12、安排測試計劃 13、提高測試覆蓋率 總結(jié) 搭建自動化測試框架是一

    2023年04月09日
    瀏覽(32)
  • 自動化測試(三):接口自動化pytest測試框架

    自動化測試(三):接口自動化pytest測試框架

    API:Application Programming Interface 接口自動化按照自動化的工具可分為 基于 接口測試工具 的接口自動化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript語言)接口自動化 Postman :創(chuàng)建和發(fā)送 API 請求,并對響應(yīng)進行斷言和驗證。 Newman : Postman 的命令行工具,它允許測試人員在沒有界

    2024年02月10日
    瀏覽(93)
  • 接口自動化測試框架

    接口自動化測試框架

    另外,現(xiàn)階段流行推薦使用:Python+unittest+requests+HTMLTestRunner框架 ??Java Rest-assured 是使用代碼來實現(xiàn)接口的請求,封裝業(yè)務(wù)流程,對于公司的業(yè)務(wù)支持比較高,靈活度很強,可以通過代碼的方式打造自己公司的接口自動化框架,上手有點難度,需要有Java 編程基礎(chǔ),才可以使用

    2024年02月04日
    瀏覽(19)
  • 接口自動化測試框架設(shè)計

    接口自動化測試框架設(shè)計

    測試系統(tǒng)間接口的一種測試,測試的對象主要是接口,主要是測試外部系統(tǒng)與所測試系統(tǒng)之間以及內(nèi)部系統(tǒng)之間的交互點。 前后端分離,通過測試保證服務(wù)端的正確性 基于安全考慮,前端驗證很容易跳過。 BUG更容易定位 自動化測試落地性價比更高,比UI更穩(wěn)定 測試提前,降

    2024年01月19日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包