ITエンジニア/デザイナ向けにオープンソースを毎日紹介

Selenium IDEが最新のFirefoxで動かなくなりました。これに伴い、新しいAPIで動くIDEも開発がスタートしたようですが、それを待つのも辛いでしょう。かといって旧バージョンを使い続けるのも問題です。

そこで使ってみたいのがUI Recorderです。新しく登場したSelenium IDEライクなWebブラウザの操作記録ソフトウェアです。

UI Recorderの使い方

UI Recorderではまずディレクトリを作って初期化します。

  1. $ uirecorder init
  2. __ ______ ____ __
  3. / / / / _/ / __ \___ _________ _________/ /__ _____
  4. / / / // / / /_/ / _ \/ ___/ __ \/ ___/ __ / _ \/ ___/
  5. / /_/ // / / _, _/ __/ /__/ /_/ / / / /_/ / __/ /
  6. \____/___/ /_/ |_|\___/\___/\____/_/ \__,_/\___/_/ v2.5.32
  7. Official Site: http://uirecorder.com
  8. ------------------------------------------------------------------
  9. ? Dom path config, extend: id, name, class data-id,data-name,type,data-type,role,data-role,data-value
  10. ? Black list RegExp for attribute value
  11. ? Black list RegExp for class value
  12. ? Hide before expect
  13. ? Webdriver host or ip 127.0.0.1
  14. ? Webdriver port 4444
  15. ? Browsers list chrome, ie 11
  16. config.json file saved
  17. :
  18. .vscode/launch.json file created
  19. Start install project dependencies...
  20. --------------------------------------------

そしてファイルを指定して記録を開始します。

  1. $ uirecorder sample/test.spec.js
  2. __ ______ ____ __
  3. / / / / _/ / __ \___ _________ _________/ /__ _____
  4. / / / // / / /_/ / _ \/ ___/ __ \/ ___/ __ / _ \/ ___/
  5. / /_/ // / / _, _/ __/ /__/ /_/ / / / /_/ / __/ /
  6. \____/___/ /_/ |_|\___/\___/\____/_/ \__,_/\___/_/ v2.5.32
  7. Official Site: http://uirecorder.com
  8. ------------------------------------------------------------------
  9. ? Test spec file name: sample/test.spec.js
  10. ? Open checker browser? Yes
  11. ? Browser size (example: 1024 x 768): maximize
  12. Recorder server listen on: 9765
  13. Checker browser opened
  14. ------------------------------------------------------------------
  15. Recorder browser opened
  16. url: http://www.moongift.jp/
  17. execute succeed
  18. waitBody:
  19. execute succeed
  20. :
  21. sendKeys: テスト{ENTER}
  22. execute succeed
  23. waitBody:
  24. execute succeed
  25. ------------------------------------------------------------------
  26. Record 10 steps, 10 steps check succeed, 0 steps check failed
  27. Recorded test saved: sample/test.spec.js
  28. Recorder server closed
  29. Recorder browser closed
  30. Checker browser closed

操作はChromeを使います。

後はWebブラウザを操作してテストを行います。JavaScriptのコードを実行することもできます。

一通りの操作を行ったらソースが生成されます。これを実行すると記録した動作が再生されます。ファイル内容は以下のようになっています(一部)。

  1. $ cat sample/test.spec.js
  2. :
  3. module.exports = function(){
  4. let driver, testVars;
  5. before(function(){
  6. let self = this;
  7. driver = self.driver;
  8. testVars = self.testVars;
  9. });
  10. it('url: http://www.moongift.jp/', async function(){
  11. await driver.url(_(`http://www.moongift.jp/`));
  12. });
  13. it('click: Fruumo - Google Chro... ( #main div:nth-child(3) > div.detail > h2.title > a, 416, 16, 0 )', async function(){
  14. await driver.sleep(300).wait('#main div:nth-child(3) > div.detail > h2.title > a', 30000)
  15. .sleep(300).mouseMove(416, 16).click(0);
  16. });
  17. it('scrollTo: 0, 0', async function(){
  18. await driver.scrollTo(0, 0);
  19. });
  20. it('click: s ( input[name="s"], 49, 11, 0 )', async function(){
  21. await driver.sleep(300).wait('input[name="s"]', 30000)
  22. .sleep(300).mouseMove(49, 11).click(0);
  23. });
  24. it('sendKeys: テスト{ENTER}', async function(){
  25. await driver.sendKeys('テスト{ENTER}');
  26. });
  27. };

コードはmochaベースになっており、テストできるコードとして生成されます。テストコードはJavaScriptのみですが、Selenium IDEライクに操作をGUIで記録できるのは便利です。代替ソフトウェアとして有力ではないでしょうか。

UI Recorderはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

UI Recorder | UI Recorder is a UI test case recorder like Selenium IDE.

alibaba/uirecorder: UI Recorder is a UI test case recorder like Selenium IDE.

MOONGIFTプレミアムに登録して運営をサポートしてください!月額500円の他、半年(3,000円)、年間パック(6,000円)もあります。企業向けに3アカウント以上で請求書払いも可能です(年間一括のみ)。従業員の方向けのサービスにいかがですか? プレミアムユーザのログインはこちらから

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2