1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChromeをSelenide経由で動かすと何故かめっちゃ遅い問題の解消

Posted at

自分のPCだけchrome激重でまともにテストできない

現在委託されている開発現場で、e2eの自動テストツールとしてgaugeとselenideを使用しているのですが、なぜか自分のPCだけ動作が遅く、ログイン画面開くだけで約10秒かかってしまい、まともにテストできなくなりました。。。

開発してるアプリが普通に重たいのかと思ったのですが、手元のchromeでlocalhostで開くと1秒もかからずに開けるので、明らかにselenideで開いたときだけ遅いっぽい

遅い原因

結論から言うと、自分はM1 macを使ってるのですがselenideで開いたchromeはarm64ではなくx86_64で開こうとしてCPU使用率が激高になってた模様。

手元のchrome
image.png

selenideで開いたchrome
image.png

なんでこんな事が起きるのか

どうやらselenideもseleniumと同様に、開こうとする言語のアーキテクチャに沿ったブラウザで開こうとするみたい。

[参考] https://stackoverflow.com/questions/76957026/chromedriver-starts-chrome-as-x86-64-translated-on-m1-very-slow-performance

たしかに自分は元々Intelのmacを使っていて、最近M1 macに移行アシスタントでデータをそのまま乗り換えたのですが、前のIntel時代のmac(x86_64)で動かしていたJavaをずっと使ってたみたいです。。

$ java -XshowSettings:properties -version 
    :
os.arch=x86_64  <= ずっとx86のJavaで動かしてたっぽい
    : 

対応

1. まずは既存のJavaをuninstallしてarm64用のJavaをinstallし直します。

$ java -XshowSettings:properties -version 
    :
os.arch=aarch64 
    : 

2. brewで諸々インストールしてたので、homebrew自体をarm64のやつに入れ直しました。

3. brewでインストールした諸々をuninstallして、再度arm64用のbrewでinstllし直しました。自分はmavenとgauge-javaを使っていたので、この2つは入れ直しました。本当は色々入れ直したほうがいいんだけど取り急ぎ。

  • gauge
  • mvn

4. (mavenの場合)mvnをinstallし直したら一旦.m2をふっとばす

5. IntelliJ使ってる場合は、3でmvnを再インストールしたあとにpluginも一回uninstallして入れ直したほうが良いです。自分の場合は下記を入れ直しました

  • gauge
  • Kotlin
  • maven helper

6.gauge-javaを入れ直す(これでようやくchromeがarm64で動くようになった)

$ gauge -v
Gauge version: 1.5.6
Plugins
-------
html-report (4.2.0)
java (0.10.3)
screenshot (0.1.0)

$ gauge uninstall java
Successfully uninstalled plugin java 0.10.2.
Successfully uninstalled plugin java 0.10.3.
Successfully uninstalled plugin java 0.9.2.

$ which gauge 
/opt/homebrew/bin/gauge  # arm64用のやつになってるよねの確認。/opt/homebrewなのでOKそう。ちなみにx86の場合は/usr/local/binとかになってると思います

$ gauge install java 
........................
Successfully installed plugin 'java' version 0.10.3

$ gauge -v
Gauge version: 1.5.6
Plugins
-------
html-report (4.2.0)
java (0.10.3)
screenshot (0.1.0)

これでようやくサクサク動いてくれるようになりました

感想

思った以上にめちゃくちゃハマってしまいました。。。

macの移行アシスタントは便利なんですが、そのせいでIntelとarm64のものが混合してしまってるので、この辺の後処理ちゃんとやらないと無駄にハマってしまうなという教訓です。

この現象でハマっている人が一人でも救われれば幸いです。(ほとんどいないと思うけど)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?