よくある質問
旧E2Eとの互換はありますか
A. FrontTesterと旧E2Eの互換性はあります。
詳しくはマイグレーションガイドを確認ください。
エンジンについて
FrontTesterはplaywright 、 旧E2Eはpuppeteerを使用しています。
playwrightはpuppeteerの開発チームが作成した上位互換のツールとも呼ばれるようなものとなっており、最小の手間で旧E2Eから移行が可能です。
フレームワークについて
ユーザが素早く旧E2Eからのマイグレに移行可能にするため、GUI使用感、試験パラメータ記述、APIなど全てにおいて変更がないようになっております。
ブラウザのバージョン対応について教えてください
A. ブラウザのバージョンはplaywrightのバージョンに紐づいて最新化を行います。
リリースノートにて使用のFrontTesterバージョンを確認ください。
ローカル端末で動作させることはできますか
A. ローカル端末で使用可能です。
Qmonus SDK Portal > E2E Tester画面左のボタンDownload Offline Tool
よりダウンロードください。
効率的な試験コードの記載方法はありますか
A. 実行エンジンであるplaywright のコードジェネレータ機能※1 を用いて画面操作のレコーディングとコードの自動生成が可能です。
ローカル環境で適当な作業ディレクトリを用意いただき、下記を実行してください。
npm init -y npm i -D playwright@${edwowと同じバージョン} npx playwright codegen ${試験対象URL}
起動されたブラウザで期待する試験パターンの操作の後、
code editorに自動生成されたコードのtest('test', async ({ page }) => {
内のコードをコピーすることで、サンプルを取得可能です。
import { test, expect } from '@playwright/test'; test('test', async ({ page }) => { await page.goto('https://portal-{portal_id}.sdk-lab.qmonus.net/loginpage'); await page.locator('img').first().click(); await page.locator('[placeholder="username"]').click(); await page.locator('[placeholder="username"]').fill('test_user'); });
※1 コードジェネレータはβ機能のため、詳細が変更になる可能性があります。詳しくはplaywrightの公式ドキュメント/ GitHub を確認してください。
ワンタイムパスワードに対応した試験は可能ですか
可能です。以下を参考にしてください。
認証システムから提示されたQRコードを文字列として読み込んだ場合、下記のようなOTP auth URIが得られます。
otpauth://totp/{issuer}:{account_name}?secret={secret_string}&issuer=…
secret_stringの値を控え、後述のtotp.generate関数の引数に指定してください。
FrontTesterでは totp-generator module ( https://github.com/bellstrand/totp-generator ) をtotp moduleとして定義しています。totp-generator を使用し、生成したワンタイムパスワードを適切に入力してください。
module.exports = async ( { params , root , actions , page, context, frame, totp } )=>{ let r = totp.generate("{secret_string}") await page.type("#oneTimePassword" , r.otp , {delay:10});