@@ -40,57 +40,23 @@ public ImageLocation findImageOnScreen(String image) throws Exception {
40
40
public ImageSearchResult findImageOnScreen (String imageName , ImageRecognitionSettings settings ) throws Exception {
41
41
// queryImageFolder is "", unless set by setQueryImageFolder()
42
42
String queryImageFolder = "queryimages/" + queryImageSubFolder ;
43
- String screenshotsFolder = "target/reports/screenshots/" ; //TODO Severi remove this
43
+ String screenshotsFolder = "target/reports/screenshots/" ;
44
44
String imageFile = queryImageFolder +imageName ;
45
45
log ("Searching for: " +imageFile );
46
- ImageSearchResult foundImage = ImageRecognition .findImageOnScreen (imageFile , screenshotsFolder , settings , getScreenSize (), platform );
46
+ Dimension screenSize = ImageRecognition .getScreenSize (platform , driver );
47
+ ImageSearchResult foundImage = ImageRecognition .findImageOnScreen (imageFile , screenshotsFolder , settings , screenSize , platform );
47
48
return foundImage ;
48
49
}
49
50
50
51
public void waitForImageToDisappearFromScreen (String image ) throws Exception {
51
- String queryImageFolder = "queryimages/" + queryImageSubFolder ; //TODO Severi remove this
52
- String screenshotsFolder = "target/reports/screenshots/" ; //TODO Severi remove this
53
- Dimension screenSize = getScreenSize (); //TODO Severi remove this
52
+ String queryImageFolder = "queryimages/" + queryImageSubFolder ;
53
+ String screenshotsFolder = "target/reports/screenshots/" ;
54
+ Dimension screenSize = ImageRecognition . getScreenSize (platform , driver );
54
55
String imageFile = queryImageFolder +image ;
55
56
boolean hasImageDisappeared = ImageRecognition .hasImageDissappearedFromScreenBeforeTimeout (imageFile , screenshotsFolder , screenSize , platform );
56
57
assert (hasImageDisappeared );
57
58
}
58
59
59
- public Dimension getScreenSize () throws Exception {
60
- log ("trying to get size from adb..." );
61
- log ("------------------------------" );
62
- if (platform .equals (PlatformType .IOS )) {
63
- return driver .manage ().window ().getSize ();
64
- } else {
65
- return getAndroidScreenSize ();
66
- }
67
- }
68
-
69
- private Dimension getAndroidScreenSize () throws IOException , InterruptedException {
70
- String adb = "adb" ;
71
- String [] adbCommand = {adb , "shell" , "dumpsys" , "window" };
72
- ProcessBuilder p = new ProcessBuilder (adbCommand );
73
- Process proc = p .start ();
74
- InputStream stdin = proc .getInputStream ();
75
- InputStreamReader isr = new InputStreamReader (stdin );
76
- BufferedReader br = new BufferedReader (isr );
77
- String line = null ;
78
- String [] size = null ;
79
- while ((line = br .readLine ()) != null ) {
80
- if (!line .contains ("OriginalmUnrestrictedScreen" )) { //we do this check for devices with android 5.x+ The adb command returns an extra line with the values 0x0 which must be filtered out.
81
- if (line .contains ("mUnrestrictedScreen" )) {
82
- proc .waitFor ();
83
- String [] tmp = line .split ("\\ ) " );
84
- size = tmp [1 ].split ("x" );
85
- }
86
- }
87
- }
88
- int width = Integer .parseInt (size [0 ]);
89
- int height = Integer .parseInt (size [1 ]);
90
- Dimension screenSize = new Dimension (width , height );
91
- return screenSize ;
92
- }
93
-
94
60
95
61
public String grabTextFromImage (String image ) throws Exception {
96
62
ImageSearchResult imageSearch = findAndCropImage (image );
0 commit comments