はじめに
最近こちらの動画を見ながらRSSからテックブログを作るのをやっていたのですが、TDDの中でフロントを作成するのにCypress
を導入する場面がありました
いままでE2Eの経験はなかったので、この動画をみて思っていたよりも直感的で導入してみたいなと思いました
そこでWSL2
に導入しようとしてかなり苦戦したのでまとめます
Cypress以外にもGUIを使うものでしたら適応できるかと思います
解決方法
今回解決した方法としては
- Windows11にアップデートする
- Ubuntu 22.04を利用する
- 以下のコマンドを実行する
$ sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
$ npm install -D cypress
$ npx cypress open
私の場合は初回起動時に以下のエラーが発生しました
Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
そこで以下のコマンドでバスの起動をしたところ成功しました
$ sudo /etc/init.d/dbus start
苦戦日記
1日目
WSL2でGUIが起動できないのはもともと把握していました
そこで以下の記事通りにやったのですがうまくいきませんでした
2日目
このツイートを発見して、Ubuntuの最新版22.04を使ってみることにしました
しかし、うまく動かず、1日目の設定をしてもうまくいきませんでした
なぜツイートの方は起動できているのでしょうか。。。
3日目
以下のツイートをまず発見
社内でESETを利用しているのでそれが原因かもしれないとまず1つ目の原因っぽいものを見つけました
そしてこの日革新に迫るものを見つけました
この記事には、Windows11でUbuntuがGUIに対応しましたよって書いてありました
ここでWindows11で最新のUbuntuでやれば成功することがわかり、試したところうまくいきました
おわりに
かなりの時間がかかったので記事にしてみました
困っている人が多いイメージですので参考になると嬉しいです
GUIが対応されたのはかなり嬉しいアップデートでした!