phoenixframe自動化平臺使用多批次資料進行介面測試的示例
package org.phoenix.cases.webservice; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map.Entry; import org.phoenix.action.WebElementActionProxy; import org.phoenix.model.CaseLogBean; import org.phoenix.model.InterfaceBatchDataBean; import org.phoenix.model.InterfaceDataBean; import org.phoenix.model.UnitLogBean; import com.meterware.httpunit.WebResponse; /** * 使用phoenix做介面測試的案例,包括兩個:
* 1、使用多批資料對一個介面url做測試
* 2、不使用多批資料
* 若對wsdl形式的介面做測試,則wsdl的檔案需要以Dom方式解析。使用WebResponse中的Dom即可。 * @author mengfeiyang * */ public class ContactJieKou extends WebElementActionProxy{ private static String caseName = "介面測試用例"; public ContactJieKou() { } @Override public LinkedList run(CaseLogBean arg0) { init(caseName,arg0); LinkedHashMap> datas = webProxy.loadInterfaceDatas(caseName); Iterator>> iterator = datas.entrySet().iterator(); while(iterator.hasNext()){ Entry> entry = iterator.next(); InterfaceBatchDataBean iBatchBean = entry.getKey(); List iDatas = entry.getValue(); System.out.println("--資料批次:"+iBatchBean.getId()+" 期望值:"+iBatchBean.getExpectData()); String url ="http://v.youku.com/player/getPlayList/VideoIDS/XNzUwODY4Nzc2/timezone/+08/version/5/source/video?ctype=10&ev=1&password=&"; for(InterfaceDataBean iData : iDatas){ url += iData.getDataName()+"="+iData.getDataContent()+"&"; } url = url.substring(0, url.length()-1); System.out.println(url); WebResponse resp = webProxy.webAPIAction().getResponseByGet(url); try { //如果介面返回的資料是json格式,則可以通過jsonPath取出實際值,如果不是json則可以自己通過自定義方式如正則表示式等。 String actual = webProxy.webAPIAction().getJSONValue(resp.getText(), "JSON.data[0].dvd.point[3].title"); //String actual = resp.getElementWithID("su").getText();根據頁面中的id,tagName,XPath,Dom等方式取到實際值 String r = webProxy.checkPoint().checkIsEqual(actual, iBatchBean.getExpectData());//使用平臺的檢查點進行檢查,檢查結果將會記錄到日誌中 if(r == null)System.out.println("-----測試通過-----"); } catch (IOException e) { e.printStackTrace(); } } //不使用資料批次的方式 /* WebResponse resp = webProxy.webAPIAction().getResponseByGet("http://v.youku.com/player/getPlayList/VideoIDS/XNzUwODY4Nzc2/timezone/+08/version/5/source/video?ran=7318&n=3&ctype=10&ev=1&password="); String s = null; try { s = webProxy.webAPIAction().getJSONValue(resp.getText(), "JSON.data[0].dvd.point[3].title"); } catch (IOException e) { e.printStackTrace(); } System.out.println(s); String r = webProxy.checkPoint().checkIsMatcher("創新就是一層窗戶紙", s); if(r == null){ System.out.println("==================介面通過==================="); }*/ return getUnitLog(); } public static void main(String[] args) { ContactJieKou yw = new ContactJieKou(); LinkedList ll = yw.run(new CaseLogBean()); for(UnitLogBean l : ll){ System.out.println(l.getContent()); } } }
相關推薦
phoenixframe自動化平臺使用多批次資料進行介面測試的示例
package org.phoenix.cases.webservice; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedList;
robotframework 學習(2) :使用RIDE進行介面測試之傳送請求和接收資料斷言
一、RIDE的介紹: RIDE是robotframework圖形操作前端,也可以理解為一種編輯器,它以cell的形式來進行定義資料和方法,返回結果等,我們可以使用它進行建立測試用例和編寫測試指令碼,並且執行自動化測試。
oracle 如何將多行資料進行合併(用LISTAGG!!!)
LISTAGG(列名,' 分割符號') oracle 11g 以上的版本才有的一個將指定列名的多行查詢結果,用 指定的分割符號 合併成一行顯示: 例如: 表原始資料: 需求:將 mb1_Transport_License_list 表中的資料,根據 transpo
oracle對一個表的多行資料進行修改
1、第一種使用迴圈修改表 --遍歷一個表並作修改 declare bl varchar(100); --宣告一個字串變數 BEGIN FOR L_RECORD IN (select * from ys
Python自動化學習筆記(一)——介面測試基礎
1.1 介面基礎知識 1.1.1 Get&post請求 GET和POST請求: GET提交的資料會放在URL之後,以?分割URL和傳輸資料,引數之間以&相連,如EditPosts.aspx?name
介面自動化:HttpClient + TestNG + Java(一) - 介面測試概述+自動化環境搭建
1.1 介面測試簡介 1.1.1 什麼是介面測試 開始學習介面自動化測試之前,我們先要來了解什麼是介面,以及什麼是介面測試。 我們都知道,測試從級別上劃分可以分為 元件測試 整合測試 系統測試 驗收測試 其中在整合測試這個階段,一個最主要的測試活動就是介面測試。在元件測試中,我
使用 EOLINKER 進行介面測試的最佳路徑 (下)
本文為 《使用 EOLINKER 進行介面測試的最佳路徑》 下半部分文章,主要介紹測試指令碼如何執行和報告生成,以及測試專案人員如何協作。還沒看過上篇文章請戳 使用 EOLINKER 進行介面測試的最佳路徑(上) 本文內容 測試指令碼執行及報告:講述如何在 EOLINKER 上執行介面測試指令碼,及
Python3利用HTTPTestRunner進行介面測試
匯入HTTPTestRunner後,對一些常用方法進行了封裝,之後只要呼叫即可。實現一條語句完成請求 約定:請求的json檔案放在本目錄的特定資料夾下 包含了各種請求條件下的重寫方法,基本滿足需求 import requests import unittest impo
使用Jmeter進行介面測試和壓力測試的配置和使用
1. Jmeter簡介 Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。 JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不
我的python自動化學習筆記-第一篇(介面測試)
學習的介面測試工具postman、jmeter 在介面測試之前,我們要獲得介面文件。介面文件會告訴我們: url 請求方式 請求引數 引數的說明 url即要訪問的連結、地址 請求方式指。。。有直接向伺服器獲取資料的請求方式(get)。有的要輸入一些資料,才能向伺服器獲取資料(post),
利用unittest+ddt進行介面測試(一):簡單demo
原文地址 一般進行介面測試時,每個介面的傳參都不止一種情況,一般會考慮正向、逆向等多種組合。所以在測試一個介面時通常會編寫多條case,而這些case除了傳參不同外,其實並沒什麼區別。 這個時候就可以利用ddt來管理測試資料,提高程式碼複用率。 先看一個簡單的dem
excel+python進行介面測試
工作之餘寫了一個超級簡單的excel+python的介面測試指令碼,將多個介面的測試用例寫到表格裡後,指令碼針對單個介面測試它的全用例,然後將返回結果打印出來。之前用postman整合的時候引入excel表格,發現可以跑多個用例,但是我只能看到結果是成功(呈綠色)還是失敗(
如何優雅地使用httprunner進行介面測試
一天,你的領導X要你對某介面做測試,你一聽,介面測試,高大上。用什麼做好呢?postman?jmeter?loadrunner?balabala。。。優秀的你,想到了一大堆工具,當然也包括用python寫。為了凸顯B格,你選擇了python。新建一個a.py檔案,然後一頓猛如虎的擼程式碼:
postman如何繞過登入賬戶和密碼驗證,進行介面測試的方法
實測於:2019.01.08 參考原文:https://yq.aliyun.com/ziliao/403942 一、獲取登入後的cookie資料 1.開啟瀏覽器; 2.啟用開發者模式(F12鍵); 3.在開發者模式下執行:先開啟network,再點選all; 4.再回到使用者介面執行常規的登入
用Jmeter進行介面測試如何從資料庫獲取引數
用Jmeter進行介面測試如何從資料庫獲取引數 剛接觸介面測試,順便將自己的所學記錄下來,可能存在錯誤,如有需要後續會矯正。 此處以一個APP使用者登陸的介面為例。登入時需要的引數為username和password。 1. 建立並設定連線配置。 右擊執行緒組:新增 -
webservice介面測試,使用SoapUI工具進行介面測試
首先,介面使用cxf編寫介面,測試工具使用SoapUI 5.2.1 安裝之後是這樣的圖示: 測試操作步驟如下: <jaxws:endpoint id="ssg" implementor="cn.exchange.cxf.DataExchangeWebServiceImpl" addre
使用pytest+requests進行介面測試實踐——測試post請求
還是以Jenkins介面測試為例,Jenkins提供了“禁用”和“啟用”job的介面,這個介面的方法是POST方法。我們就以這個介面為例。 我們先點選任何一個job,比如“PythonRun”這個job,在開啟的頁面右下角REST API,在開啟的頁面中檢視提供的介面。我們
使用Jmeter進行介面測試時需登入後才能測試介面的配置
1、開啟Jmeter3.1: 啟動命令路徑:apache-jmeter-3.1\bin\jmeter.bat 2、測試步驟:1、測試計劃--右鍵新增--Threads--執行緒組2、執行緒組--右鍵--http資訊頭管理器 輸入Content-Type=application/json,表示介面請求的預
一個專門用來給測試學習者進行介面測試的公開介面
1、獲取學生資訊介面: 2、使用者註冊介面 3、登入 3、新增學生資訊 4、學生金幣充值 需要設定headers和body兩部分: 1.新增金幣需要以管理者身份新增(剛才“登入”介面測試時已經註冊了一個新使用者zhaixl,這個使用者已經被額外授權為管理員,
HttpClient +Testng(1)進行介面測試入門
參考以下等文件: 關於httpclient等概念東西上述幾位大神的文件中比較多,在這裡我們主要簡單搭建我們自己所需的最小化框架,並執行起來 一、所需環境的安裝 這裡可以參考以前文件中的安裝步驟 我們主要是安裝下面兩個工具就可以 1、JDK的安裝和JAVA_