LoginSignup
4
1

More than 5 years have passed since last update.

chrome(v66以降)でseleniumテストが動画の自動再生でハングする

Posted at

条件

  • chrome(v66以上)
  • seleniumを利用した自動テストを行っている
  • 自動再生のEventを引っ掛けようとしている

解決法

  • --autoplay-policy=no-user-gesture-requiredを利用する。

具体的には


var webdriver = require('selenium-webdriver');
var chromeCapabilities = webdriver.Capabilities.chrome();
var chromeOptions = {
'args': ['--autoplay-policy=no-user-gesture-required']
};
chromeCapabilities.set('chromeOptions', chromeOptions);
var driver = new webdriver.Builder().withCapabilities(chromeCapabilities).build();

概要

かねてから噂されていたらしい、Chromeの自動再生拒否のバージョンがついにやってきた。
(実装はちょっと前からされてたみたい、デフォルトにされたのが今回のアプデ)

seleniumでの設定方法でもつまずいたが、ブラウザ経由で自動再生のフラグを変更したいなら chrome://flags/#autoplay-policyで操作する。

一応、以下の三種類が用意されている。

  • No user gesture is required.
  • User gesture is required for cross-origin iframes.
  • Document user activation is required.

一ユーザーとしてはありがたい限りの機能だが、テストが落とされるのは困ったので共有したい。

ちなみに、IMEとやらでサイトごとに自動再生を許可するドメインを確定する仕組みがあるみたい。
ただ、自分のchrome://media-engagementを見ても全部、拒否られてたのでよくわかんない。

image

自動再生拒否を回避してどうしても自動再生で動画を流したい人はGoogle公式行けばいいと思います。
回避できる手段について日本語でまとめたものがQiitaにあったのでペタリ

休日が開けたら、テストがtimeoutしてて月曜日から憂鬱な気分に振り回される人が少なくなるように祈ります。

参考:

4
1
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
4
1