VSCode拡張機能テストサービス
wdio-vscode-serviceはサードパーティのパッケージです。詳細についてはGitHub | npmをご覧ください。
テスト済み環境:
VSCode拡張機能をテストするためのWebdriverIOサービス。
このWebdriverIOサービスを使用すると、VSCodeデスクトップIDEまたはWeb拡張機能としてVSCode拡張機能のエンドツーエンドテストをシームレスに実行できます。拡張機能へのパスを提供するだけで、サービスが以下を行います:
- 🏗️ VSCodeのインストール(
stable
、insiders
または指定したバージョン) - ⬇️ 特定のVSCodeバージョンに対応したChromedriverのダウンロード
- 🚀 テストからVSCode APIへのアクセスを可能にする
- 🖥️ カスタムユーザー設定でVSCodeを起動(Ubuntu、MacOS、WindowsのVSCodeをサポート)
- 🌐 またはWeb拡張機能のテスト用にサーバーからVSCodeを提供
- 📔 VSCodeバージョンに合わせたロケーターを持つページオブジェクトのブートストラップ
このプロジェクトは、Seleniumベースのvscode-extension-testerプロジェクトに大きく触発されています。このパッケージはそのアイデアを取り入れ、WebdriverIOに適応させています。
VSCode v1.86からは、設定なしでChromedriverをインストールするためにwebdriverio
v8.14以降を使用する必要があります 。以前のバージョンのVSCodeをテストする必要がある場合は、下記のChromedriver設定セクションを参照してください。
インストール
新しいWebdriverIOプロジェクトを開始するには、以下を実行します:
npm create wdio ./
インストールウィザードが表示され、プロセスを案内します。コンパイラとしてTypeScriptを選択し、このプロジェクトに必要なページオブジェクトが含まれているため、ページオブジェクトを生成しないようにしてください。そして、サービスのリストからvscode
を選択してください:
WebdriverIO
のインストール方法について詳しくは、プロジェクトドキュメントをご確認ください。
設定例
このサービスを使用するには、サービスのリストにvscode
を追加し、必要に応じて設定オブジェクトを続けて指定します。これにより、WebdriverIOは指定されたVSCodeバイナリと適切なChromedriverバージョンをダウンロードします:
// wdio.conf.ts
export const config = {
outputDir: 'trace',
// ...
capabilities: [{
browserName: 'vscode',
browserVersion: '1.86.0', // 最新のVSCodeバージョンには "insiders" または "stable" を指定
'wdio:vscodeOptions': {
extensionPath: __dirname,
userSettings: {
"editor.fontSize": 14
}
}
}],
services: ['vscode'],
/**
* オプションで、WebdriverIOがすべてのVSCodeバイナリを保存するパスを定義できます。例:
* services: [['vscode', { cachePath: __dirname }]]
*/
// ...
};
wdio:vscodeOptions
をvscode
以外のbrowserName
(例:chrome
)で定義すると、サービスは拡張機能をWeb拡張機能として提供します。Chromeでテストする場合、追加のドライバーサービスは必要ありません:
// wdio.conf.ts
export const config = {
outputDir: 'trace',
// ...
capabilities: [{
browserName: 'chrome',
'wdio:vscodeOptions': {
extensionPath: __dirname
}
}],
services: ['vscode'],
// ...
};