2016-04-15 6 views
2

テストケースを実行するたびに、エミュレータのシステム時刻をあらかじめ定義された日付に設定しようとしています。 時間を変更するが、appium APIを使用して実装できなかったコマンドadb shell date --set=が見つかりました。Appium:エミュレータまたはsaucelabsでプログラムでカスタム時間を設定する

これを実装する方法や他の選択肢を理解する助けがあれば、大歓迎です。

私はまた、appium discussにスレッドを開いています。

答えて

1

現在、Appiumでこれを行う方法はありません。エンドポイントとして実装されておらず、Appiumではセキュリティ上の理由からad hoc adbコマンドの実行を許可していません。 Rubyで

2

、私はAVDSのために次のことをやっている:

# set time using adb shell command 
    # defaults to Time.now 
    # mm == month, mn == minute 
    # Note: formatting must include leading zeros for single character results 
    def self.android_set_time(yy = Time.now.strftime('%y'), 
         yyyy = Time.now.strftime('%Y'), 
         mm = Time.now.strftime('%m'), 
         dd = Time.now.strftime('%e'), 
         hh = Time.now.strftime('%H'), 
         mn = Time.now.strftime('%M')) 

    version = driver_attributes[:caps][:platformVersion].to_f 

    if version >= 6.0 
     system("adb shell 'date #{mm}#{dd}#{hh}#{mn}#{yy}.00'") 
    else 
     system("adb shell date -s '#{yyyy}#{mm}#{dd}.#{hh}#{mn}00'") 
    end 
    end 

注意:あなたはKernel.exec対Kernel.systemを使用する必要があります。 # Executes _command..._ in a subshell.

不明

Kernel.exec # Replaces the current process by running the given external _command_... Kernel.systemはそれがsaucelabsかで動作するかどうか。

関連する問題