def send_keys(self, text, keyborad=None): log_in_func({"func_args": text}) if keyborad: super(Element, self).send_keys(text, keyborad) else: super(Element, self).send_keys(text) time.sleep(0.5)
def match_in(self, screen): match_result = self._cv_match(screen) G.LOGGING.debug("match result: %s", match_result) log_in_func({"cv": match_result}) if not match_result: return None focus_pos = TargetPos().getXY(match_result, self.target_pos) return focus_pos
def gen_screen_log(self, element): size = element.size location = element.location x = size['width'] / 2 + location['x'] y = size['height'] / 2 + location['y'] jpg_file_name = str(int(time.time())) + '.jpg' jpg_path = os.path.join(ST.LOG_DIR, jpg_file_name) self.save_screenshot(jpg_path) extra_data ={"args": [[x, y]], "screen": jpg_file_name} log_in_func(extra_data)
def gen_screen_log(self, element): size = element.size location = element.location x = size['width'] / 2 + location['x'] y = size['height'] / 2 + location['y'] jpg_file_name = str(int(time.time())) + '.jpg' try: jpg_path = os.path.join(ST.LOG_DIR, jpg_file_name) self.save_screenshot(jpg_path) if "darwin" in sys.platform: x, y = x * 2, y * 2 extra_data = {"args": [[x, y]], "screen": jpg_file_name} log_in_func(extra_data) except Exception: import traceback traceback.print_exc()
def gen_screen_log(self, element=None): if ST.LOG_DIR is None: return None jpg_file_name = str(int(time.time())) + '.jpg' jpg_path = os.path.join(ST.LOG_DIR, jpg_file_name) self.save_screenshot(jpg_path) saved = {"screen": jpg_file_name} if element: size = element.size location = element.location x = size['width'] / 2 + location['x'] y = size['height'] / 2 + location['y'] if "darwin" in sys.platform: x, y = x * 2, y * 2 saved.update({"args": [[x, y]],}) log_in_func(saved)
def try_log_screen(screen=None): """ Save screenshot to file Args: screen: screenshot to be saved Returns: None """ if not ST.LOG_DIR: return if screen is None: screen = G.DEVICE.snapshot() filename = "%(time)d.jpg" % {'time': time.time() * 1000} filepath = os.path.join(ST.LOG_DIR, filename) aircv.imwrite(filepath, screen) log_in_func({"screen": filename})
def traverse_layer(action, params): snapshot() if uiobj and 'visibleBounds' in uiobj: b = uiobj['visibleBounds']['bottom'] l = uiobj['visibleBounds']['left'] r = uiobj['visibleBounds']['right'] t = uiobj['visibleBounds']['top'] if params and params[-1] == "topleft": # 点击识别区域的左上角 x, y = l, t elif params and params[-1] == "bottomright": # 点击识别区域的右下角 x, y = r, b else: # 点击中间位置 x, y = (l + r) / 2, (b + t) / 2 log_in_func({ "cv": { "confidence": 1, "result": [x, y], "rectangle": [[l, t], [l, b], [r, b], [r, t]] }, 'ret': [x, y], })
def assert_text(self, text): log_in_func({"func_args": text}) assert text in self.text.encode("utf-8") time.sleep(0.5)
def forward(self): super(WebChrome, self).forward() log_in_func({"args": ""}) time.sleep(1)
def back(self): super(WebChrome, self).back() log_in_func({"args": ""}) time.sleep(1)
def get(self, address): super(WebChrome, self).get(address) log_in_func({"args": address}) time.sleep(2)
def send_keys(self, text): log_in_func({"func_args": text}) super(Element, self).send_keys(text) time.sleep(0.5)
def command_layer(action, params): traverse_layer(action, params) log_in_func({"name": action, 'ret': None})