Opentestは、Webアプリケーション、モバイルアプリ、API用の無料のオープンソース機能テスト自動化ツールです。
私たちは、すでに確立された商用製品とオープンソースプロジェクトの両方を、すでにたくさんのものがあることを知っています。私たちは長い間適切なツールを探し、それらのかなりの数を公正に試みました。標準化できるツールを探していました。これにより、さまざまなサイズ、スキルセット、予算、地理的な場所を持つ複数の内部チームと外部チームにわたってテスト自動化の取り組みを統合できます。このツールは、業界に最新のベストプラクティスを組み込む必要があり、理想的にはオープンソースライセンスの下でリリースされ、長いプロセスを排除してコストを削減できるようにする必要があります。これらの考慮事項と他の要件を考えると、我々はゼロから構築することが責任ある選択であると判断しました。
Opentestは、一連の健全な原則に従って最新のテスト自動化ツールのすべての機能を提供することを目指しています。私たちは、機能的なテストの自動化を民主化し、それ自体に基づいて構築できる優れたコミュニティを作成することを目指しています。人生の完璧なものは何もなく、ソフトウェアの一部は絶対に完成していませんが、この製品に入ったすべての機能が徹底的に考え出され、片側でパワーと柔軟性、もう一方の柔軟性の最良のバランスをとるために慎重に実装されたことを約束します。
セレンを使用したWebテスト。すべてのブラウザがサポートされています。ローカルマシンでテストを実行するか、クラウドプロバイダーを使用します。
AndroidおよびAppiumを使用したiOSアプリのモバイルテスト。ローカルマシンでテストを実行するか、クラウドプロバイダーを使用します。
APAChe httpclientライブラリの上に構築されたAPIテスト。
キーワード駆動型テスト。基礎となるテクノロジーの複雑さを隠し、簡潔で読みやすい方法で自分自身を表現できる高レベルのビルディングブロックを使用してテストを組み立てます。
スクリプトサポート。 JavaScriptコードを使用して複雑なテストシナリオをカバーし、キーワード駆動型のテストに有機的に埋め込まれて、物事を清潔で読みやすくします。
平行テスト。並行して実行できるテストセッションの数は、実行しているマシンのリソースによってのみ制限されます(ただし、クラウドには常に多くのマシンがあります)。
分散テスト。複数のマシン、ネットワーク、テクノロジーでシームレスに実行されるテストを作成します。モバイル、Web、API、およびその間にあらゆるものにスパンする統合テストを作成します。
データ駆動型テスト。テストを複数回実行して、別のデータファイルに維持されている一連のデータレコードを介して実行します。
拡張可能。独自のカスタムテストアクション(キーワード)を作成することにより、あらゆるテクノロジーと統合します。
ソースコントロールに適したデザイン。 Gitに背中があることを知って、自信を持って作業してください。大型または地理的に分散したチームに最適です。
環境。テストを一度構築し、複数の環境に対して実行するか、さまざまなテストデータを使用して実行します。
他の人とうまく機能します。簡単なHTTP APIを使用して、テストセッションの開始と監視、テスト結果の収集などを制御します。
MacOS、Windows、Linuxで実行されているクロスプラットフォーム。
(そして、この短いものを維持するために、本当にクールな機能をたくさんスキップする必要がありました)
前提条件:node.js 8以降。 Javaランタイム8以上。
NPMからのインストール:
npm install opentest -gビデオチュートリアル:https://getopentest.org/docs/installation.html(Windowsで録音)
ホームディレクトリに「Opentest」という名前のディレクトリを作成して、このガイドの遊び場として使用し、そのディレクトリにcd使用します。
cd ~
mkdir opentest
cd opentest 注記 | Windowsでは、 mkdirの代わりにmd使用します。 |
以下のコマンドを実行します
opentest quick-startこれで、現在のパスにこれらのファイルとディレクトリを置く必要があります。
server
└── server.yaml
actor1
└── actor.yaml
test-repo
├── macros
│ └── ...
├── scripts
│ └── ...
├── templates
│ └── ...
└── tests
└── ... serverとactor1ディレクトリは、それぞれOpentestサーバーとテストアクターの作業ディレクトリとして使用されます。 test-repo Directoryは、Opentestの基本的な機能を示すサンプルテストリポジトリです。
サーバーのワーキングディレクトリに新しい端末ウィンドウを開き、 cd開き、OpenTestサーバーを起動します。
cd ~/opentest/server
opentest serverOpentestサーバー(別名Sync Server)は、メイン関数がテスト実行を調整し、WebベースのUIを提供するNode.jsアプリケーションです。
新しいターミナルウィンドウを開き、俳優のワーキングディレクトリにcd開き、テストアクターを開始します。
cd ~/opentest/actor1
opentest actorテストアクターは、テスト中のシステムで実行され、同期サーバーが指示するようにテスト手順を実行するJavaアプリケーションです。
Webブラウザを開き、http:// localhost:3000に移動します。
メニューから、 [セッション]> [テンプレートからセッションの作成]を選択します。テンプレートクイックスタートテストを選択し、 [セッションの作成]をクリックします。数秒待って、ブラウザを更新して、テストセッションの結果を表示します。
Opentestには3つのコンポーネントがあります。
同期サーバー、主に3つの関数を実行するnode.jsアプリケーション:
テスト実行を調整します。
テストセッションの作成、テスト結果を調べるために使用できるWeb UIを公開します。
UIとほぼ同じ目的でレバレッジできるフレンドリーなAPIを公開します。
同期サーバーが指示するように、テストの実行を担当するJavaアプリケーションであるテストアクター。同じテストに参加する複数のアクターが存在する可能性があり、クラウドを含むあらゆるネットワーク内の任意のマシンにアクターを展開できます。唯一の要件は、テストアクターが同期サーバーによって公開されたHTTP APIと通信できることです。同期サーバーがアクターとの通信を開始できるという要件はありません。これにより、ファイアウォールの背後にあるラボまたは同期サーバーを実行しているマシンからアクセスできないネットワークでアクターが実行されているシナリオでセットアップが大幅に簡素化されます。
テストリポジトリは、さまざまなテスト資産(テストファイル、スクリプト、テストセッションテンプレートなど)を含む、定義された必要な構造を備えたディレクトリ、ソース制御下にあります。

Opentestは、MITライセンスの下でリリースされたオープンソースソフトウェアです。
明示的に特に述べない限り、このリポジトリに含めるために意図的に提出された貢献は、追加の条件なしで、上記のようにライセンスされます。
詳細については、貢献ガイドラインのドキュメントを参照してください。
テストと開発のためのオープンソースアカウントを提供してくれたBrowserstackに感謝します!
クロスブラウザーテストプラットフォームとオープンソース❤§ソースラボが提供する