HttpRunner v4.x 遠程調用實踐指南

一、基于 SSH 的遠程執行方案

1. 環境準備流程

  1. 在目標服務器部署 HttpRunner 運行時環境:
# 遠程服務器執行(需 Golang 1.18+ 和 Python 3.8+)
curl -ksSL https://httprunner.com/script/install.sh | bash
  1. 配置免密登錄(本地機器執行):
ssh-copy-id user@remote_host
  1. 遠程執行命令
# 進入項目目錄,執行遠程測試用例
ssh user@remote_host "cd /path/to/project && hrp run testcases/ --html-report"
  1. 結果文件同步
# 拉取測試報告
scp -r user@remote_host:/path/to/project/reports ./local_reports

二、CI/CD 流水線集成方案

GitLab CI 配置示例

stages:- testhttprunner_remote:image: python:3.9stage: testvariables:HRP_BIN_URL: "https://github.com/httprunner/httprunner/releases/download/v4.3.3/hrp-v4.3.3-linux-amd64.tar.gz"script:- apt-get update && apt-get install -y curl- curl -L $HRP_BIN_URL | tar xz -C /usr/local/bin- hrp run testcases/ --log-level debugartifacts:paths:- reports/

三、HTTP API 調用方案

1. 構建 API 服務層

# api_server.py
from fastapi import FastAPI
import subprocessapp = FastAPI()@app.post("/run-tests")
async def run_tests(config: dict):result = subprocess.run(["hrp", "run", config["test_path"]],capture_output=True,text=True)return {"status": result.returncode,"output": result.stdout,"error": result.stderr}

2. 遠程調用示例

curl -X POST http://api-host:8000/run-tests \-H "Content-Type: application/json" \-d '{"test_path": "testcases/demo_api.yml"}'

四、分布式執行方案

1. 節點配置

# 啟動工作節點(需開放 5557 端口)
hrp worker --host 0.0.0.0 --port 5557

2. 主控節點調用

# 分發測試任務
hrp run testcases/ --distributed \-w "remote_host1:5557,remote_host2:5557"

五、容器化部署方案

1. Dockerfile 構建

FROM python:3.9-slimRUN apt-get update && apt-get install -y curl
RUN curl -ksSL https://httprunner.com/script/install.sh | bashWORKDIR /app
COPY . .ENTRYPOINT ["hrp", "run", "testcases/"]

2. 遠程執行命令

# 構建鏡像
docker build -t httprunner-remote .# 運行容器
docker run -v $(pwd)/reports:/app/reports httprunner-remote

實現建議:

  1. SSH 方案適合臨時執行場景
  2. CI/CD 方案適合自動化測試流水線
  3. 容器化方案保障環境一致性(需結合項目實際)
  4. 分布式方案適用于大規模性能測試(參考官方文檔)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73674.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73674.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

頭條項目的文章延遲發布功能

最近做的頭條項目其中有個功能是創作者發表的文章可以設置在未來某個時間發表,在實現這個功能的時候就在想該怎么實現呢?剛開始想的是利用Spring的定時任務定時的去數據庫中查詢,可以這個查詢頻率該怎么設置,每次從數據庫中需要查…

Celery 全面指南:Python 分布式任務隊列詳解

Celery 全面指南:Python 分布式任務隊列詳解 Celery 是一個強大的分布式任務隊列/異步任務隊列系統,基于分布式消息傳遞,專注于實時處理,同時也支持任務調度。本文將全面介紹 Celery 的核心功能、應用場景,并通過豐富…

OpenHarmony NativeC++應用開發speexdsp噪聲消除案例

隨著5.0的版本的迭代升級,筆者感受到了開源鴻蒙前所未有大的版本更替速度。5.0出現了越來越多的C API可以調用,極大的方便了native c應用的開發。筆者先將speexdsp噪聲消除的案例分享,老規矩,還是開源!!&am…

nuxt3 seo優化

在 Nuxt3 中,通過 nuxtjs/seo、nuxtjs/sitemap 和 nuxtjs/robots 模塊可以生成包含動態鏈接的站點地圖(sitemap.xml),但具體是“實時生成”還是“部署時生成”,取決于你的配置方式和數據更新頻率。以下是具體分析&…

es6的100個問題

基礎概念 解釋 let、const 和 var 的區別。什么是塊級作用域?ES6 如何實現它?箭頭函數和普通函數的主要區別是什么?解釋模板字符串(Template Literals)的用途,并舉例嵌套變量的寫法。解構賦值的語法是什么…

【機器學習】什么是決策樹?

什么是決策樹? 決策樹是一種用于分類和回歸問題的模型。它通過一系列的“決策”將數據逐步分裂,最終得出預測結果。可以把它看作是一個“樹”,每個節點表示一個特征的判斷,而每個分支代表了可能的判斷結果,最終的葉子…

Java面試黃金寶典15

1. 請找出增序排列中一個數字第一次和最后一次出現的數組下標 定義 由于數組是增序排列的,我們可以利用二分查找的特性來高效地定位目標數字。對于查找第一次出現的位置,當中間元素等于目標數字時,我們需要繼續向左搜索,以確保找…

CentOS 7安裝 mysql

CentOS 7安裝 mysql 1. yum 安裝 mysql 配置mysql源 yum -y install mysql57-community-release-el7-10.noarch.rpm安裝MySQL服務器 yum -y install mysql-community-server啟動MySQL systemctl start mysqld.service查看MySQL運行狀態,運行狀態如圖&#xff…

科軟25機試

題目: 2025科軟復試上機題&#xff08;回憶版&#xff09;題解_嗶哩嗶哩_bilibili 1. 字符串反轉 #include<bits/stdc.h> using namespace std;void solve(string& a, int CurN) {if (!(CurN % 2)) {int right a.size() - 1;int left 0;while (left < right)…

Oracle相關的面試題

以下是150道Oracle相關的面試題&#xff0c;涵蓋了Oracle的基礎概念、架構、SQL與PL/SQL、性能調優、高可用性、備份與恢復、安全、分區與索引、存儲與內存管理、網絡與連接、版本與升級等方面&#xff0c;希望對你有所幫助。 Oracle基礎概念 1. 什么是Oracle數據庫&#xff1…

docker安裝,鏡像,常用命令,Docker容器卷,Docker應用部署,自定義鏡像,Docker服務編排,創建私有倉庫

1.為什么使用docker 如果開發環境和測試環境的允許軟件版本不一致&#xff0c;可能會導致項目無法正常啟動 把環境和項目一起打包發送給測試環境 1.1docker的概念 開源的應用容器引擎&#xff0c;完全使用沙箱機制&#xff0c;相互隔離&#xff0c;容器性能開銷極低 一種容…

ES 字段的映射定義了字段的類型及其行為

在 Elasticsearch 中&#xff0c;字段的映射定義了字段的類型及其行為。你提供的 content_answer 字段映射如下&#xff1a; Json 深色版本 "content_answer": { "type": "text", "fields": { "keyword": { …

Manus的開源替代者之一:OpenManus通用AI智能體框架解析及產品試用

引言 在AI智能體領域&#xff0c;Monica團隊近期發布的Manus被譽為全球首個通用型AI智能體。該項目推出后迅速爆紅&#xff0c;邀請碼一號難求&#xff0c;隨之而來的是各路開發者快速構建了眾多類似的開源替代方案。其中&#xff0c;MetaGPT團隊的5位工程師僅用3小時就開發完…

Linux MariaDB部署

1&#xff1a;查看Linux系統版本 cat /etc/os-release#返回結果&#xff1a; NAME"CentOS Linux" VERSION"7 (Core)" ID"centos" ID_LIKE"rhel fedora" VERSION_ID"7" PRETTY_NAME"CentOS Linux 7 (Core)" ANSI…

PHP MySQL 預處理語句

PHP MySQL 預處理語句 引言 在PHP中與MySQL數據庫進行交互時,預處理語句是一種非常安全和高效的方法。預處理語句不僅可以防止SQL注入攻擊,還可以提高數據庫查詢的效率。本文將詳細介紹PHP中預處理語句的用法,包括其基本概念、語法、優勢以及在實際開發中的應用。 預處理…

算法 | 2024最新算法:鳑鲏魚優化算法原理,公式,應用,算法改進研究綜述,matlab代碼

2024最新鳑鲏魚優化算法(BFO)研究綜述 鳑鲏魚優化算法(Bitterling Fish Optimization, BFO)是2024年提出的一種新型群智能優化算法,受鳑鲏魚獨特的繁殖行為啟發,通過模擬其交配、產卵和競爭機制進行全局優化。該算法在多個領域展現出優越性能,尤其在解決復雜非線性問題中…

HDR(HDR10/ HLG),SDR

以下是HDR&#xff08;HDR10/HLG&#xff09;和SDR的詳細解釋&#xff1a; 1. SDR&#xff08;Standard Dynamic Range&#xff0c;標準動態范圍&#xff09; ? 定義&#xff1a;SDR是傳統的動態范圍標準&#xff0c;主要用于8位色深的視頻顯示&#xff0c;動態范圍較窄&…

uni-app頁面怎么設計更美觀

頂部 頁面最頂部要獲取到手機設備狀態欄的高度&#xff0c;避免與狀態欄重疊或者被狀態欄擋住 // 這是最頂部的父級容器 <view :style"{ paddingTop: ${statusBarHeight extraPadding}px }">.... </view> export default {data() {return {statusBarH…

江西核威環保科技:打造世界前沿的固液分離設備高新企業

隨著市場經濟的不斷發展&#xff0c;消費者的需求越來越大&#xff0c;為了更好的服務廣大新老客戶&#xff0c;作為知名品牌的“江西核威環保科技有限公司&#xff08;以下簡稱江西核威環保科技&#xff09;”&#xff0c;將堅持以“服務為企業宗旨&#xff0c;全力打造世界前…

Ethernet(以太網)詳解

一、Ethernet的定義與核心特性 以太網&#xff08;Ethernet&#xff09;是一種 基于IEEE 802.3標準的局域網&#xff08;LAN&#xff09;技術&#xff0c;用于設備間通過有線或光纖介質進行數據通信。其核心特性包括&#xff1a; 標準化&#xff1a;遵循IEEE 802.3系列協議&am…