Best Python code snippet using Airtest
adb.py
Source:adb.py
...1186 """1187 output = self.shell("dumpsys window windows")1188 windows = output.split("Window #")1189 offsetx, offsety, x, y = info['width'], info['height'], 0, 01190 package = self._search_for_current_package(output)1191 for w in windows:1192 if "package=%s" % package in w:1193 arr = re.findall(r'Frames: containing=\[(\d+\.?\d*),(\d+\.?\d*)]\[(\d+\.?\d*),(\d+\.?\d*)]', w)1194 if len(arr) >= 1 and len(arr[0]) == 4:1195 offsetx, offsety, x, y = float(arr[0][0]), float(arr[0][1]), float(arr[0][2]), float(arr[0][3])1196 if info["orientation"] in [1, 3]:1197 offsetx, offsety, x, y = offsety, offsetx, y, x1198 x, y = x - offsetx, y - offsety1199 return {1200 "offset_x": offsetx,1201 "offset_y": offsety,1202 "offset_width": x,1203 "offset_height": y1204 }1205 def _search_for_current_package(self, ret):1206 """1207 Search for current app package name from the output of command "adb shell dumpsys window windows"1208 Returns:1209 package name if exists else ""1210 """1211 packageRE = re.compile('\s*mCurrentFocus=Window{.* ([A-Za-z0-9_.]+)/[A-Za-z0-9_.]+}')1212 m = packageRE.findall(ret)1213 if m:1214 return m[-1]1215 return ""1216def cleanup_adb_forward():1217 for adb in ADB._instances:1218 adb._cleanup_forwards()1219reg_cleanup(cleanup_adb_forward)
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!