2016-06-29 6 views
0

Ich benutze UI Automator, um niedrige Auflösung Screenshot unter Verwendung von unten Befehle im Junit-Test zu nehmen. Alle vier Screenshots haben dieselbe Größe. Ich erwarte, dass es komprimiert wird. Lassen Sie mich wissen, ob es jemand anderes erfolgreich umsetzen konnte. Ich möchte nur Screenshots von Bildschirm anstelle von hochauflösendem Screenshot bekommen. Schlagen Sie alternative Wege vor, falls verfügbar.Uidevice TakeScreenshot Option zum Komprimieren der Datei funktioniert nicht

getUiDevice().takeScreenshot(new File("/sdcard/Pictures/"+"test1.png")); 
getUiDevice().takeScreenshot(new File("/sdcard/Pictures/"+"test2.png"),0.1f,10); 
getUiDevice().takeScreenshot(new File("/sdcard/Pictures/"+"test3.png"),0.2f,20); 
getUiDevice().takeScreenshot(new File("/sdcard/Pictures/"+"test4.png"),1.0f,20); 

Android Referenz für UI Automator API

TakeScreenshot

boolean takeScreenshot (File storepath, float Skala, int Qualität) einen Screenshot der aktuellen Fenster nehmen und speichern Sie es als PNG Die Screenshot wird pro Bildschirmrotation angepasst

Parameter storePath Datei: wo das PNG geschrieben werden soll Skala Float: Skalieren Sie den Screenshot herunter, wenn nötig; 1.0 f für original größe qualität int: qualität der PNG kompression; Bereich: 0-100

Antwort

0

Dies ist die Implementierung von takeScreenshot in UiDevice.java:

/** 
* Take a screenshot of current window and store it as PNG 
* 
* The screenshot is adjusted per screen rotation 
* 
* @param storePath where the PNG should be written to 
* @param scale scale the screenshot down if needed; 1.0f for original size 
* @param quality quality of the PNG compression; range: 0-100 
* @return true if screen shot is created successfully, false otherwise 
* @since API Level 17 
*/ 
public boolean takeScreenshot(File storePath, float scale, int quality) { 
    Tracer.trace(storePath, scale, quality); 
    return getAutomatorBridge().takeScreenshot(storePath, quality); 
} 

Wie Sie sehen können, ist scale wird nicht verwendet und quality nur die Qualität der PNG einzustellen verwendet gespeichert .