テストケースを実行するたびに、エミュレータのシステム時刻をあらかじめ定義された日付に設定しようとしています。 時間を変更するが、appium APIを使用して実装できなかったコマンドadb shell date --set=
が見つかりました。Appium:エミュレータまたはsaucelabsでプログラムでカスタム時間を設定する
これを実装する方法や他の選択肢を理解する助けがあれば、大歓迎です。
私はまた、appium discussにスレッドを開いています。
テストケースを実行するたびに、エミュレータのシステム時刻をあらかじめ定義された日付に設定しようとしています。 時間を変更するが、appium APIを使用して実装できなかったコマンドadb shell date --set=
が見つかりました。Appium:エミュレータまたはsaucelabsでプログラムでカスタム時間を設定する
これを実装する方法や他の選択肢を理解する助けがあれば、大歓迎です。
私はまた、appium discussにスレッドを開いています。
現在、Appiumでこれを行う方法はありません。エンドポイントとして実装されておらず、Appiumではセキュリティ上の理由からad hoc adbコマンドの実行を許可していません。 Rubyで
、私は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かで動作するかどうか。