Appiumでsslの自己証明書の許可をする

httpsを使うところで開発環境だとオレオレ証明書でやったりすると思うんですが、Appiumでどうやって自己証明書を受け入れるのかなーと思って調べました。

f:id:masami256:20150430233148p:plain

方法としてはブラウザのcapabilityでautoAcceptAlertsにtrueをセットすれば良いと判明。

やり方は2つあってひとつはブラウザの設定の中に入れておく方法。言語はnode.jsです。

    var desired = {
      browserName: 'safari',
      'appium-version': '1.3',
      platformName: 'iOS',
      platformVersion: '8.3',
      deviceName: 'iPhone 6',
      app: undefined,
      autoAcceptAlerts: true
    };
    return driver.init(desired);

もう一つはブラウザの設定に後から追加。

    var desired = {
      browserName: 'safari',
      'appium-version': '1.3',
      platformName: 'iOS',
      platformVersion: '8.3',
      deviceName: 'iPhone 6',
      app: undefined,
      autoAcceptAlerts: true
    };
    desired['autoAcceptAlerts'] = true;

    return driver.init(desired);

自分は環境変数からどのブラウザを使うとか設定するようにしているので、やるとしたら後者かな。

試したのはiOSシミュレータだけなのでAndroidの場合は未確認ですが多分これで行けるんじゃないかなあ。 2015/05/01:↑無理でした。API Referenceを見たらautoAcceptAlertsはiOS onlyとなってましたorz