アナフレームワークによるAPIテスト


導入


こんにちは.IT会社のQAエンジニアとして働いています.私はAutotestersのチームリーダーです.UIとAPIのテストを自動化します.私たちは毎日何千ものテストスクリプトを走らせます.スクリプトはPythonで書かれています.

Pythonライブラリ標準ライブラリは非常に良いですが、開発と維持スクリプトは多くの時間がかかります.我々は迅速に開発し、起動し、テスト結果を顧客に提供する必要があります.
テスタの仕事では、顧客にテスト結果をレポートを提供することは非常に重要です.私たちはこれにallureを使います.

テストスクリプトを実行するには、ci/cdを使用します.テストスクリプトを通過した後、テスト結果をレポートが自動的に生成されます.
次のようになります.

The anna ライブラリは、迅速な開発とレポートの生成のために開発されました.

インストール


pip install anna-api-test-framework

使い方


ライブラリを最初にインポートします
from anna import Actions, Report, Asserts

  • アクションにはHTTPリクエストを実行するメソッドが含まれます.すべての要求と応答データが自動的にレポートに追加されます.
  • action = Action(url=url)
    response = action.request(method=method)
    

    とても便利です.

  • レポートには、レポートに追加の重要な情報のメソッドが含まれます.ステップ、タイトル、叙事詩、リンク、もう一つのデータなどのように.
  • @Report.epic('Simple tests')
    @Report.story('Tests google')
    @Report.testcase('https://www.google.com', 'Google')
    @Report.link('https://www.google.com', 'Just another link')
    class TestExample:
    
        @Report.title('Simple test google')
        @Report.severity('CRITICAL')
        def test_simple_request(self):
            url = 'https://google.com'
            method = 'GET'
            want = 200 
            Report.description(url=url, method=method, other='other information')
    

  • assertチェックのメソッドを含む
  • with Report.step('Checking response'):
        Assert.compare(
            variable_first=want,
            comparison_sign='==',
            variable_second=got,
            text_error='Response status code is not equal to expected'
        )
    

    テストの実行方法


    次のコマンドを使用します.
    pytest alluredir="./results"
    
    このコマンドはカレントディレクトリからテストを実行し、テスト結果をresults ディレクトリ

    レポートの生成方法


    これを行うには、インストールが必要ですAllure .
    次のコマンドを使用してレポートを生成します.
    allure generate "./results" -c -o "./report"
    
    レポートは2010年に生成されますreport ディレクトリ

    オープンレポート


    次のコマンドを使用します.
    allure open "./report" 
    
    次の出力を見ることができます.
    Starting web server...
    2022-04-06 12:58:39.896:INFO::main: Logging initialized @1655ms to org.eclipse.jetty.util.log.StdErrLog
    Server started at <http://172.31.22.186:61080/>. Press <Ctrl+C> to exit
    
    あなたがリンクに続くならば、生成されたレポートは開きます

    結論


    このライブラリをすばやくテストスクリプトやデータをレポートの開発に役立ちます.
    Anna's repository on github
    あなたの注意をありがとう!👍👍👍
    これは私の最初の記事です