0
1

More than 1 year has passed since last update.

【Appium】自動テストがしたいのにAndroid Chromeのようこそ画面が邪魔

Posted at

事の発端

業務でウェブアプリの自動テストの需要が高まってきたので、Appiumの環境構築をして動作確認をしていた時の話です。

なんとかPC版Chromeで動作するようになったので、じゃあAndroid実機でも!と思い実行。

Welcome

これじゃテスト動かんやん!なんでや!!

でも新品の端末買ってきた、みたいな新鮮さだけはある。

【環境】
- Mac OS 12.2.1
- Android 12(実機Pixel 3a)
- Appium 1.22.2(CUI)
- Python3.6

解決法

capabilitiesにappPackageappActivityではなく、browserNameを使用する。

driver = webdriver.Remote(
    command_executor='http://127.0.0.1:4723/wd/hub',
    desired_capabilities={
        'platformName': 'Android',
        'platformVersion': '12',
        'deviceName': 'Pixel 3a',
        'browserName': 'Chrome', # 必須
        # 'appPackage': 'com.android.chrome', # NG
        # 'appActivity': 'com.google.android.apps.chrome.Main', # NG
        'chromeOptions': {
            'w3c': False,
        },
    })

原因

GitHubのIssueが参考になりました。

When browser name is not strictly equals one from CHROME_BROWSERS array Appium 1.5+ is using ADB instead of Chromedriver and this is why we get such strange screenshots. Appium 1.4 contrarily was matching Chrome by app package name and this is why it worker with any browser name capability. So to solve this issue you just need to change browser name to one from the list above.

Appium 1.4まではパッケージ名を指定してましたが、1.5以降はブラウザ名を指定するようになっていると。パッケージ名が指定されているとchromedriverでなくADB経由でchromeを起動するので、welcomeページが表示される…みたいです(解釈合ってます?)。

調べたら'chromeOptions': {'args': ['--disable-fre']}をつけるとか、色々見つかったんですが、私の場合効果はなかったです。

ネイティブアプリでの構築記事を参考にしたのがまずかったか。。appActivityの設定が悪いのかと思い、随分遠回りしましたが、なんとかなりました。ようこそページの操作も自動化する…なんて力技をしなくてよかったです。

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