2016-04-15 8 views
2

Ich versuche, die Zeit des Emulator Systems auf ein vordefiniertes Datum jedes Mal, wenn ich die Testfälle ausführen. Ich habe den Befehl adb shell date --set= gefunden, der die Zeit ändert, aber nicht mit Appium-APIs implementiert werden konnte.Appium: Setze benutzerdefinierte Zeit programmatisch auf Emulator oder Saucen

Jede Hilfe bei der Ermittlung, wie man es oder andere Alternativen implementiert, wird sehr geschätzt.

Ich habe auch einen Thread auf appium discuss für das gleiche geöffnet.

Antwort

1

Es gibt derzeit keine Möglichkeit, dies in Appium zu tun. Es wurde nicht als Endpunkt implementiert, und Appium lässt die Ausführung von Ad-hoc-Adb-Befehlen aus Sicherheitsgründen nicht zu.

2

In Ruby, ich tue das folgende für 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 

Hinweis: Sie Kernel.system vs Kernel.exec verwenden.

Kernel.exec # Replaces the current process by running the given external _command_... Kernel.system # Executes _command..._ in a subshell.

unbekannt, ob es funktioniert in saucelabs oder nicht.

Verwandte Themen