1 はじめに
近年、ますます多くの企業が自動テストを設計およびレイアウトし始めています。自動化とは、その名前が示すように、人間によるテスト動作を機械による実行に変換するプロセスであり、回帰テストでよく使用されます。オープンソースの自動テスト ツールや理論的な知識も数多くあります。今日話したいのは RobotFramework です。
私もたまたま RobotFramework ツールに触れたのですが、その形がとても斬新だと思い、すぐに惹かれました RobotFramework は Python で書かれた機能自動化テスト フレームワークです。拡張性が高く、キーワード ドライブをサポートし、複数の種類のクライアントまたはインターフェイスを同時にテストでき、分散テストを実行できます。
2 ツール分析
1. ツールをインストールすると、デスクトップに小さなアイコンが表示されます。将来ユースケースを作成するときにこれを頼りにします (興味のある友人は、インストール プロセスについて個人的にチャットできます。したがって、私は行きません)詳細はこちら) ):
2. このアイコンをダブルクリックすると、「快適な」編集インターフェイスが表示されます。
- プロジェクト編集エリアには、作成したプロジェクト、ユースケース、およびキーワード リソースが表示されます。ここのキーワードは、将来のユースケースに非常に便利であり、一般的なロジックを記述するのに適しており、作成時に遭遇するのに便利です。使用例: 呼び出しにも同じロジックが使用されます。
- ユースケースは、スクリプト編集エリアとテーブル編集エリアを通じて作成できます。
-
- ある場合にマウスを置くと、テーブル編集エリアが表示されます。スクリプト編集エリアと同様に、1つはスクリプトを書くことで実現され、もう1つはExcelのテーブルを書くことによって実現されます。
-
- スクリプト編集領域: テーブル編集またはスクリプト編集のいずれによっても、対応するスクリプトがスクリプト編集領域に生成されます。
- マウスをプロジェクト上に置くと、ユースケースの作成に使用したケース ファイルとリソース ファイルが右側に表示されます。
- 「実行」セクションの右側にユースケース実行領域が表示され、このセクションを通じてユースケースを実行し、生成されたレポートやログなどを表示できます。
3. ツールの適用可能なシナリオ:
個人的には、インターフェイス自動化テストのシナリオにより適していると思います。
4. ツールは Jenkins プラットフォーム統合をサポートします。Jenkins
は、継続的インテグレーションと継続的デリバリーのための非常に強力なオープンソース プロジェクトです。ほぼあらゆる種類の自動ビルドまたは継続的インテグレーションを処理できるため、自動テスト展開のために RF と組み合わせることができる必要があります。具体的な実装手順はおおよそ次のとおりです。
- ダウンロード
- ノードの追加
- RFプラグインをインストールする
- テストを実行するようにジョブを構成する
注: この特定の実践方法の共有はまだ実行されません。
メリットとデメリットの分析
アドバンテージ:
- 自動テスト プロセスは、キーワード駆動テスト (KDT) アプローチを使用することで簡素化され、テスターが読みやすいテストを簡単に作成できるようになります。
- テスト データの構文はシンプルで使いやすいです。
- 生態系が豊かです。独立したプロジェクトとして開発されたさまざまな一般的なテスト ライブラリとツールで構成されます。
- 拡張性が高い。
短所:
- python2.バージョンのみをサポートします。
- インターフェイスの応答が遅く、フリーズすることがよくあります。
- テスト ライブラリをインポートするときに例外が発生することがあります。
3 キーワード紹介
1. 事例作成の過程でいくつかのキーワードが整理されましたが、変数に関しては以下のとおりです。
- スイート変数の設定 このキーワードで設定された変数は、現在実行中のテスト スイートの範囲内のどこでも使用できます。
- グローバル変数の使用範囲の設定: このキーワードで定義された変数は、すべてのテスト スイートで使用できます。
- テスト変数の使用範囲の設定: このキーワードを使用して設定された変数は、現在実行中のテスト ケースの範囲内のどこでも使用できます。
- Set Variable use range: このキーワードは主にスカラー変数を設定するために使用されます。さらに、リストを含むスカラー変数をリスト変数または複数のスカラー変数に変換するために使用できます。新しいリストを作成する場合は、「リストの作成」を使用することをお勧めします。このキーワードで作成された変数は、作成されたスコープ内でのみ使用できます。
2. 優れた方法の概要:
- Excelを開く Excelファイルを開く
- Get Row Count 行数を取得します。
- Get Column Count 列数を取得します。
- Get Row Values 特定の行の値を取得します
- 列の値を取得 特定の列の値を取得します
- セルデータを座標で読み取る 列行番号で値を取得する
- セル データを名前で読み取る セル データを名前で読み取る
3.キーワード If を実行
- 機能説明: 指定された判定条件が満たされた場合に、指定されたキーワードが実行されます。
- 関数構造の例:
-
- 条件を決定するための Keyword If 他のキーワードを実行します
-
- … ELSE IF その他の判定条件のキーワード
-
- … ELSE 条件を判断するためのその他のキーワード
4.Strip String は先頭と末尾の空白文字を削除します。
5.Remove String は指定された文字列を削除します。
6. 時刻について
${time} get current date # 現在時刻を
取得 ${time_stamp} Convert date ${time} epoch # 元のタイムスタンプに変換
${time_stamp2} Evaluate int(round(${time_stamp}*1000)) #ミリ秒のタイムスタンプに変換
4 ケースシェアリング
これまでの経験に基づいて、簡単に言うと、ユースケースの作成はいくつかのステップに大別できます。
- プロジェクトを作成します。
- このプロジェクトの下に実装したいケースを追加します。
- この事件を認識し、事件の魂を加えてください。
- このケースを実行してください。
- 症例結果を表示します。
良い!それでは、上記のアイデアに基づいてユースケースを書いてみましょう。ここでは、一般的に使用されている比較的単純な国際サプライ チェーン フルフィルメント スケジューリング システムの倉庫注文インターフェイスを例として取り上げます。
1) まず、プロジェクトを作成しましょう: [ファイル] -> [新しいプロジェクト] で、ポップアップ ウィンドウが表示されます。独自の設定に従って開始できます。ここで作成するのは保存順序です。これを「testIn」と呼びます。忘れないでください。最も重要なことは、タイプとして「ディレクトリ」を選択する必要があるということです。
このようにして、プロジェクトが作成されます。
2) ケースを作成します。
Robot では、最初に testSuite を作成する必要があります。Robot では、ケースはすべてスイートの下にぶら下がっているためです。プロジェクトを右クリックして、[新しいスイート] をクリックします。ここで、スイートの名前を入力する必要があります。ここでは、「test_Instock」と呼びます。 ";
スイートが作成されたら、スイートの下にケースを作成できます。test_Instock—>新しいテスト ケースで、ケース名を「在庫注文が正常に発行されました」と呼ぶことができます。
3. 現在、予備的な作成作業は終了しています。ケースの核心を書き始める必要があります。ここでは、フォーム内で直接編集できます。記述プロセスは、Python でユースケースを記述するプロセスと同じです。インターフェース情報、入力パラメータ、戻りパラメータの検証が必要です。
他にも同様のインターフェイスが多数あるため、ここでは、投稿リクエストの送信部分と検証の戻りパラメータ部分をキーワードの形式で個別に実装できます。「Instock をテスト」—>「新しいユーザー キーワード」を選択し、キーワードを作成し、「投稿リクエストの送信」という名前を付けます。 」と「戻りパラメータの検証」!
キーワードが区切られたユースケースは、1 つの大きなファイルから 3 つの小さなファイルに変更され、ユースケースのプロセスを確認しやすくなりました。
キーワード抽出の場合:
「投稿リクエストを送信」キーワード部分
「戻りパラメータの検証」キーワード部分
私たちの訴訟の本質が完全に実現されたら、それを実行して、すごいことを確認することができます。実行でエラーが報告されました
ここでは明らかなエラー レポートが表示されるため、レポートで確認する必要はありません。エラー レポートが明確に表示されない場合は、レポートに移動して特定のエラー情報を確認する必要があります。レポートでは、エラーが報告されている行が表示されるので、問題を特定するのに便利です。本題に戻ります。このエラーを見たとき、現在の日付を取得するための主キーが見つかりませんでした。そこで、このライブラリを紹介しましょう(具体的な説明)ライブラリの紹介についてはすでに述べました)
5. 導入完了後、再度導入を実行し、案件はスムーズに通過しました。
6. 以下は、スクリプト エディターに表示される上記のユースケースの内容です。
5 問題点のまとめ
訴訟を作成する過程では、さまざまな種類の問題に遭遇することになります。
1) post リクエストを送信すると、型変換エラーが報告されます。
合計 4 つのパラメーターが要求され、エラーが報告されました。。。
解決策:
まず、すべてのパラメータを辞書に入れてみます。いいえ! :
2 番目の試みは、パラメーターを取り出して値を個別に割り当てることでしたが、うまくいかないことがわかりました。!:
3 番目の試行は、値を文字列形式で ${data} に書き込み、${data} をポスト リクエストのデータに割り当てることですが、機能しません。!:
4 番目の試行は、Emma が渡した投稿リクエストのデータに文字列値を直接割り当てることです。
2.cmd 入力 pip リスト エラー:
解決策: 通常、上記のプロンプトはバージョン 9.0.X で表示され、出力形式を定義する必要があります。
pip list —format=legacy エラーは存在しなくなりました
著者: JD Logistics Kang Yongchao
出典:JD Cloud Developer Community Ziyuanqishuo Tech 転載の際は出典を明記してください
Broadcom が既存の VMware パートナー プログラム Deepin-IDE バージョン アップデートの終了を発表 、古い外観を新しい外観に置き換える 周 紅逸: 紅蒙ネイティブは間違いなく成功する WAVE SUMMIT は 10 回目のセッションを迎え、温信宜燕氏が最新情報を公開します! ヤクルト社、95Gデータ流出を確認 2023年プログラミング言語で最も人気のライセンス 「2023年中国オープンソース開発者報告書」正式リリース Julia 1.10正式リリース Fedora 40は/usr/binと/usr/sbinを統合予定 Rust 1.75 .0リリース