Python+Request+AllureによるAPIインターフェーステスト自動化 (1)

       インターフェイスのテストを自動化するという私の試みのプロセスを簡単に記録しておきます。基本的な目標は、Python を使用してインターフェイス テスト コードを作成できるようにすること、および Python 言語を知らない人でもサンプルを参照することでインターフェイス テスト ケースの作成を簡単に完了できるように十分に単純にすることです。 Jenkinsと連携して自動で繰り返し実行し、テスト結果をグラフで表示できます。開発も導入も Windows システムをベースにしていたため、インターネット上の情報が散在しすぎて、満足のいく結果を得るために複数の情報源を参照して収集する必要があるなど、プロセス中に多くの落とし穴に遭遇しました。

(1) Python環境の準備

1. Python3 をインストールします。

https://www.python.org/downloads/

2. Python 開発 IDE ツール pycharm をダウンロードします。

http://www.jetbrains.com/pycharm/download/

登録コード: http://idea.lanyus.com

3. pip3をインストールする

https://pypi.org/project/pip/

4. pip3 を使用して一般的な Python モジュールをインストールする

pip install -U pytest

pip install -U リクエスト

pip install -U リクエスト

pip install -U hashlib

pip install -U json

5.PowerShellを確認する

Powershellを管理者として実行する

PowerShell で $PSVersionTable を実行してバージョン番号を確認します。バージョン番号は 3 より大きい必要があります。

6. アリュールをインストールする

https://docs.qameta.io/allure/#_installing_a_commandline

7. pytest+allure を統合する

https://docs.qameta.io/allure/#_pytest

(2) Jenkinsの環境準備

1. Java の JDK をインストールします。

https://www.oracle.com/technetwork/java/javase/downloads/index.html

2. jenkins の war パッケージをダウンロードします。

http://mirrors.jenkins-ci.org/windows/latest

3.Tomcatをダウンロードする

https://tomcat.apache.org/download-80.cgi

tomcat/conf/logging.properties ファイルの *encoding に対応するエンコードを UTF-8 に変更します。

4.ジェンキンスプラグイン

Jenkins プラグインが大きな落とし穴で、国内ネットワークが遮断されているため、デフォルトの Site からプラグインを直接ダウンロードすることができず、ここで長い間苦労していました。

システム管理-》プラグイン管理-》アドバンスト

アップデートサイト :https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

allure/html/Git/Pipeline/Python/Ant/maven/Github/Email/PMD/Findbug などのプラグインをインストールします

5. Jenkins のすべての構成

システム管理-》グローバルツール設定 Maven、JDK、Python、Allure Commandline、Antなどを設定します。

(3) APIインターフェーステスト(特に重要)

1. フリースタイルのソフトウェアプロジェクトを構築する

2. ソースコード管理

ソースコード管理:Subversion

2、ビルド

Windows バッチ タスク:

pytest -s -q --alluredir allure-results --html html\test.html

0番出口

3、ビルド後のアクション

結果 -> パス: allure-results

レポートパス:allure-report

 

おすすめ

転載: blog.csdn.net/zhangzhaokun/article/details/89928976