質問: 何か良い解決方法がありますでしょうか。 些細なTipsでもなんでも結構です。情報お待ちしております。 宜しくお願いいたします。 ### やりたいこと 1. **Amazon Workspaces** 上に借りている **Windows 7** に **Nightmare** をインストールし、自動でブラウザテストを実行したい 2. 例)http://example.com へ行き、スクリーンショットを保存する ### 問題点 1. 例のような処理に、10分も掛かってしまう(セレニウムだと30秒程度で終わる)
回答: ご存知だと思いますが**Selenium**と**Nightmare**の大きく異なる点は **Selenium**は、HTML要素を取得してそのエレメントに対して シナリオを作成するCUIベースの動きをするのに対して、 **Nightmare**は、画面キャプチャを取得し、画像を差分比較しGUIベースに動いていることにあります。 **Nightmare**は、**Selenium**のように構成が変わっても修正の必要はありませんが キャプチャ取得時と画像比較時に画像処理をしなければならず、 そこで大きくパワーを使いますので時間がかかるのだと思われます。 また、**Amazon WorkSpaces**の中身は、EC2インスタンスと同じですので、 CPUやメモリはAWS側で制御されており、共有で利用しているため クライアントPCのようにフルパワーで何時間も継続的に利用することができません。 最低でもスタンダード以上(ハードウェアオプションがマルチコア)でないと しんどいかと思います。 したがって、WorkSpacesで利用することをお薦めしません。 テストでずっと運用するのであれば、WorkSpacesよりもEC2で立てておいた方が 同じ性能でも安くなると思いますが、 **Nightmare**のやり方を変更するのではなく、ローカルネットワークに 仮想サーバを立てる(AWSを使わない)など、環境をかえたほうが良いかと思います。