HttpRunner 自動応答 中国語化け処理

漢字化けへの対応:

  インターフェースを呼び出した際、レスポンスボディで返される漢字が文字化けする場合、一般的にはレスポンスボディのエンコーディング形式がutf-8でないことが原因で、実際のエンコーディング形式に合わせて処理する必要があります。 .

例:

図 1 では、extract は title タイトルを抽出し、output は title 変数値を出力します。以下の図 2 に示すように、出力変数値が文字化けし、図 3 のレポートは、応答のコードが ISO-8859-1 であることを示しています。

解決策は次のとおりです。

方法 1、以下に示すように、ヘッダー ヘッダー情報を追加します。

4 つのキーワードは次の条件を満たしている必要があります。

User-Agent: *****
Accept: *****
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

 上記ヘッダー情報のキーワードはF12キーで取得可能

yaml の例:

以下に示すように、ヘッダー ヘッダー情報を追加します。

ヘッダーが追加されて実行された後、出力変数値は utf-8 中国語エンコーディングです。

方法 2、 debugtalk.py 補助関数を使用してコードを記述し、それを yaml ファイルで呼び出します。

Pythonの組み込み関数encode()およびdecode()、encode()はエンコード、decode()はデコードです

debugtalk.py ファイルのコードは次のとおりです。

#encode エンコード デコード デコード

# iso8859-1 エンコーディング、utf-8 にデコード
デフォルト iso8859_to_utf8(文字列):
    return str.encode("iso8859-1").decode("utf-8")

# utf-8 エンコーディング、iso8859-1 にデコード
デフ utf8_to_iso8859(文字列):
    return str.encode("utf-8").decode("iso8859-1")

# utf-8 にデコードされた unicode_escape エンコーディング
def unicode_escape_to_utf8(文字列):
    return str.encode("unicode_escape").decode("utf-8")

yaml ファイルでは、以下に示すように、アサーション参照関数を " " で囲む必要があります。

次の図に示すように、テスト レポートは成功を示し、アサーションは成功しています。

 上記は utf-8 を介したアサーション比較であり、以下に示すように iso8859-1 を介してアサーション比較を実行することもできます。

変数: 変数;

下の図に示すように、最初に期待される結果を変数にしてから、実際の結果と同じコードに変換し、最後にアサーションを通じて比較します。

 次の図に示すように、テスト レポートは成功を示し、アサーションは成功しています。

実例

光学理論は役に立たないので、従うことを学ばなければならず、学んだことを実践に適用できるように、自分でやらなければなりません.このとき、いくつかの実践的なケースから学ぶことができます.

お役に立ちましたら、いいねとコレクションをお願いします。作者の励みになります。次回からすぐに見つけられるのも便利です。

理解できない場合は、下の小さなカードを参照してください. ブロガーはまた、志を同じくするテスターと一緒に学び、進歩することを望んでいます.

適切な年齢で、適切なポジションを選択し、自分の利点を最大限に発揮するようにしてください。

私の自動テスト開発の道のりは、途中の各段階の計画と切り離すことはできません。計画と要約が好きだからです。

ビデオ チュートリアルのテストと開発、ノートの学習、ポータルの受信を行います。! !

おすすめ

転載: blog.csdn.net/Liuyanan990830/article/details/129998643