2. テストシナリオで使用する言語の選択

Seleniumプロジェクトでは、WebDriver APIを利用するためのライブラリをJava、Python、C#、 Ruby、JavaScript、Kotlinの各言語用に公開しており、利用環境や用途に応じて自由に言語を選択することができ、どの言語においてもほぼ同一の操作を行うことが可能です。

GHOST Operatorは、HID Emulator使用する特殊なWebDriverですが、一般的なWebDriverと同等のAPIを公開しているため、どの言語用ライブラリからでも利用することができます。

テストシナリオは、アプリケーションの操作を自動化することでテストを実行するため、必然的にアプリケーションの変更や拡張に追従して、テストシナリオも変更する必要があります。
また、ひとつの機能についても正常ケース、異常ケース、限界値など様々な角度からテストを行うことが多いため、テストケース数はアプリケーションの持つ機能よりも多くなり、個々のテストケース間にはほとんど相関関係がないことが一般的です。
従って、テストシナリオで使用する言語に求められるのは、大量の細かく依存性のないプログラムを誰でも容易に変更や拡張が可能なことです。

テストシナリオを効率的にメンテナンスができることは、自動テストで問題となりやすいテストシナリオの維持における時間とコストを抑え、効果的な成果を得るために重要です。
このような観点から、テストシナリオの作成においてはnode.js上で動作するJavaScriptの利用を推奨します。

JavaScriptはビルドが不要で細かな相互依存のないプログラムの作成に向いており、Webシステム技術者の必須技術なので長期的な維持においても要員確保が問題となり難いため、最も適した言語だと考えられます。
また、node.jsはモダンJavaScript(ES6等)の利用が可能なため、テストシナリオの作成には十分な機能を持っています。