WeChat Mini プログラム自動化テスト フレームワーク Minium——高度なテスト

前回の記事WeChat Mini Program Automated Testing Framework Minium - Quick Startでは、主に Minium のインストールと使用方法、考えられる問題と解決策を紹介しています。この記事では、Minium フレームワークを使用した高度なテスト、テスト計画の構成と実行、および実機のデバッグを主に​​紹介します。ミニプログラムのデモについては、miniprogram-demoを参照してください。

テスト計画

テスト計画の構成

テスト計画のケース名とパッケージ名suit.json

{
  "pkg_list": [
    {
      "case_list": [
        "test_*"
      ],
      "pkg": "test.*_test"
    }
  ]
}

基本構成

config.json は、アプレットが実行されるプラットフォーム、アプレット コードのプロジェクト パス、WeChat 開発者ツールのインストール パスなどの基本的な情報を構成します。

{
    
    
  "project_path":"xxx",     // 小程序项目路径
  "dev_tool_path":"xxx",  // 微信开发者工具安装路径
  "platform": "ide"
}

テストケース

# `first_test.py`
class FirstTest(minium.MiniTest):
    def test_get_system_info(self):
        sys_info = self.mini.get_system_info()
        self.assertIn("SDKVersion", sys_info)

    def test_ui_op(self):
        # 页面跳转
        self.app.switch_tab("/pages/index/index")
        # 元素定位
        ele = self.page.get_element("/page/view/navigator[3]/button")
        # 元素点击
        ele.click()
        time.sleep(3)
        # 判断元素是否存在
        self.assertTrue(self.page.element_is_exists("/page/view[9]/mytest//view", max_timeout=5))
        # 打印元素文本
        inner = self.page.get_element("/page/view[9]/mytest//view").inner_text
        self.logger.info("UI Case %s", inner)


# `second_test.py`
class SecondTest(minium.MiniTest):
    def test_log(self):
        self.logger.info("【info级别日志】")
        self.logger.debug("【debug级别日志】")
        self.logger.warn("【warn级别日志】")

テスト計画を実行する

プロジェクト パスで次のコマンドを実行します。

minitest -s suite.json -c config.json -g

プロジェクト ディレクトリでコマンドを実行しpython3 -m http.server 12345 -d outputs、ブラウザでアクセスしてhttp://localhost:12345、テスト レポートを表示します。

ここに画像の説明を挿入

よくある問題
  • 新しく実行したテスト結果が更新されていない問題があります.
    ローカル ブラウザのキャッシュの問題により、Chrome ブラウザはコンソールを開いて をF12クリックし设置偏好设置カチカチ音网络をたてます.停用缓存(在开发者工具已打开时)

ここに画像の説明を挿入

実機デバッグ

リアル デバイス デバッグには IDE 依存関係が必要であり、USB リアル デバイス デバッグがサポートされています。Android デバッグでは、最初に ADB ツール (Android デバッグ ブリッジ) をインストールして、Android デバイス情報を取得する必要があります。iOS は、libmobiledevice をインストールし、WebDriverAgent を構成し、デバイス情報を取得する必要があります。


Android の実機デバッグ、ADB ツール (Android デバッグ ブリッジ) は、Android エミュレーターまたは実際の Android デバイスの実行を直接操作および管理しadb devices、デバイスのシリアル番号を取得できます。

ここに画像の説明を挿入

config.jsonデバイス情報を構成します。オンラインの携帯電話が 1 つだけの場合は、次platformAndroidように構成するだけで済みます。複数のデバイスが携帯電話に接続されている場合、構成ファイルでデバイスのシリアル番号を次のように指定する必要があります。

{
    
    
  "project_path":"xxx",     // 小程序项目路径
  "dev_tool_path":"xxx",  // 微信开发者工具安装路径
  "platform": "android",
  "device_desire": {
    
    
    "serial": "xxx"
   }

iOS デバイス情報構成の詳細については、 Real

よくある問題

  1. 実デバイス環境は構成されていますが、実デバイスのアプレットを起動できません。実デバイス デバッグ 2.0が使用されているかどうかを確認してください (現在、自動化はサポートされていません)。使用されている場合は、実デバイス デバッグ 1.0に切り替えてください。

App.initialized まで待てない

  • Minium はリモート デバッグを開始しますが、電話機はアプレットを正常に起動しません/白い画面
    • 手動で切り替え二维码真机调试てから自动真机调试
    • それでも動作しない場合は、远程调试機能が
  • Minium がリモート デバッグを開始し、リモート デバッグ ウィンドウがポップアップしましたが、携帯電話でアプレットが開かれていません。
    • 実機デバッグ 2.0 が使用されているかどうかを手動で確認してください

ここに画像の説明を挿入

試験結果

プロジェクト ディレクトリでコマンドを実行しpython3 -m http.server 12345 -d outputs、ブラウザでアクセスします。http://localhost:12345

ここに画像の説明を挿入

提案

開発者は Cloud Test でユース ケースを実行することをお勧めします. ローカルでデバッグしたユース ケースを Cloud Test にアップロードし、新しいテスト計画を作成し、Minium タスクを作成できます. マルチプラットフォームの実機を選択し、複数のプラットフォームをサポートして、ユーザーが実際のマシンを展開して維持する必要なく、マシン環境を同時に実行できます

テスト後、クラウド テスト サービスは、実行中のスクリーンショット、ログ情報、ネットワーク リクエスト分析、パフォーマンス分析などを含む詳細なテスト レポートを提供します。ユース ケースの実行が失敗すると、エラー ログとエラー ライン コードが提供され、ユーザーがエラーの原因を簡単にトラブルシューティングできるようになります。特定の操作については、公式のクラウド テスト ドキュメントCustom

ローカル実行とクラウド テスト サービス実行のユース ケースの比較
能力 ローカル実行 クラウド テスト サービスの実行
テスト アカウント 自分の WeChat アカウントを使用できます テスト用の仮想アカウントの使用のみをサポート
実機展開 実機を自分でデプロイし、wda または adb 環境をインストールする必要があります 実機環境を用意する必要がなく、直接テスト
環境整備 開発者ツールのログイン状態を自分で維持する必要があります 開発者ツールに依存せず、ユーザーによるメンテナンスも不要
レポートを見る 独自のレポート閲覧環境を構築する必要がある 詳細なテスト レポートを提供し、レポートの https リンクの共有をサポートする
性能データ 取得するには、インターフェイスを手動で呼び出す必要があります CPU、メモリ使用量などのユース ケース パフォーマンス データの表示をサポートします。エクスペリエンス スコアリングを有効にして、ランタイム パフォーマンス データをさらに表示できます。
Devops 自分で実装する必要がある タスクを送信して結果を取得するためのサードパーティの https インターフェイスを提供します。詳細については、devops プロセスを通過する

助けが必要

おすすめ

転載: blog.csdn.net/WXMiniTest/article/details/128209400