2013年2月26日火曜日

OSによる分岐

いろいろいじってたSelenium2
共同開発でいじっていたので中にはMac等Win以外のユーザーもいるわけで.
それはいいのだけど
「chromedriver.exeとかMacじゃ動かないんだけど(・ω・ )っ/凵⌒☆チン」
「chromedriver.shにしてくんね?マダ-?(・ω・  )っ/凵⌒☆チン」

…ぉおぅ('A`)

というわけでOSによって呼び出すchromedriverを変えたいなー, というのが始まり

Java, OSの参照と分岐

chromedriverについてはこちらあたりで. 
特に難しいことはせず, シンプルにif文.
  public static void setChromeProperty() {
    if (SystemUtils.IS_OS_LINUX) {
      // Linux用処理
      return;
    }
    if (SystemUtils.IS_OS_MAC) {
      // Mac用処理
      return;
    }
    if (SystemUtils.IS_OS_WINDOWS) {
      // Windows用処理
      return;
    }
  }
ifの中身
SystemUtils
を参照する.
わりとわかりやすい名前で助かります.∩( ・ω・)∩

OSを判定し booleanが返ってくるのでそのまま ifに入れられるのもわかりやすい.

これだけ.

ちなみにこの SystemUtils. 結構細かいとこまで見てくれているらしく.
SystemUtils.IS_OS_WINDOWS_95
SystemUtils.IS_OS_WINDOWS_98
SystemUtils.IS_OS_WINDOWS_2000
SystemUtils.IS_OS_WINDOWS_ME
SystemUtils.IS_OS_WINDOWS_XP
などOSのバージョンまで見てくれたり.





…ここまでするアプリ作る予定は無いけどネ(・ω・`)

0 件のコメント:

コメントを投稿

AWS CDKで立てたEC2インスタンスのTimeZoneとかいじりたかった話

EC2を立てることはできたけど、立てたインスタンスは UTCのままだし設定ファイルとかいちいちscpしてくるのはダルい。 当初UserDataでなんとかしようとしたものの、「書く量がヤバいしメンテしにくい」と悩んでいたところ見かけたのが  AWS::CloudFormation:...