|
@@ -173,6 +173,62 @@ class COptionAction(CBaseLog):
|
|
|
break
|
|
|
return not found
|
|
|
|
|
|
+ '''
|
|
|
+ 函数:处理弹出密码框.
|
|
|
+ 参数:
|
|
|
+ 返回:Boolean, Boolean。
|
|
|
+ 如何没有密码框处理,返回False,False。
|
|
|
+ 如果有,且成功输入密码后密码框消失,返回True, True
|
|
|
+
|
|
|
+ 注意:对应以前的dealOthers函数。
|
|
|
+ '''
|
|
|
+ def dealPasswordBox(self):
|
|
|
+ parentOption = ''
|
|
|
+ if self.isOnValueSheet():
|
|
|
+ if self.__optionValueInfo is None or self.__optionValueInfo.__len__() == 0:
|
|
|
+ self.error(u"当前value[%s]信息空" % str(self.__optionValue))
|
|
|
+ return False, False
|
|
|
+
|
|
|
+ others = self.__optionValueInfo['others']
|
|
|
+ if others is None or others.__len__() == 0:
|
|
|
+ self.info(u"[%s]others字段空" % str(self.__curOptionName))
|
|
|
+ return False, False
|
|
|
+ # 获取父节点
|
|
|
+ parentOption = self.__optionValueInfo['option']
|
|
|
+ else:
|
|
|
+ if self.__curOptionInfo is None or self.__curOptionInfo.__len__() == 0:
|
|
|
+ self.error(u"当前option[%s]信息空" % str(self.__curOptionName))
|
|
|
+ return False, False
|
|
|
+
|
|
|
+ others = self.__curOptionInfo['others']
|
|
|
+ if others is None or others.__len__() == 0:
|
|
|
+ self.info(u"[%s]others字段空" % str(self.__curOptionName))
|
|
|
+ return False, False
|
|
|
+ # 获取父节点;
|
|
|
+ parentOption = self.__curOptionInfo['parent']
|
|
|
+
|
|
|
+ # 转换为字典;
|
|
|
+ others = json.loads(others)
|
|
|
+ if "password" not in others:
|
|
|
+ self.info(u"[%s]others没有密码框处理" % str(self.__curOptionName))
|
|
|
+ return False, False
|
|
|
+
|
|
|
+ password = self.__optionConfig.get_value("Password", others["password"])
|
|
|
+ # 发送密码前,停2秒(因为像6586机芯响应很慢,密码框还没弹出就完成了密码输入的操作);
|
|
|
+ time.sleep(2)
|
|
|
+ # 发送按键;
|
|
|
+ for key in list(password):
|
|
|
+ self.sendKey(key, 1, 0.2)
|
|
|
+ time.sleep(1)
|
|
|
+ # 发送ok键;
|
|
|
+ if others["enter_key"] != "default":
|
|
|
+ self.sendKey(others["enter_key"])
|
|
|
+ # 判断是否成功输入密码;
|
|
|
+ current_uiPic = self.takePicture()
|
|
|
+ # 此处findRectByIcon参数3传递的不是first_parent,而是当前option的parent;
|
|
|
+ found, contourRect = self.__optionFocus.findFocusByIcon(current_uiPic, parentOption)
|
|
|
+ return True, not found
|
|
|
+
|
|
|
'''
|
|
|
函数:是否在父节点菜单上。一般在执行了callFirstOptionShortCutKey后调用;
|
|
|
参数:无
|
|
@@ -494,6 +550,7 @@ class COptionAction(CBaseLog):
|
|
|
return False
|
|
|
|
|
|
if self.__pos >= self.__optionPaths.__len__():
|
|
|
+ # self.__curOptionInfo = None # 是否需要在到达value层级后置空,可能保留值会有比较多用处!
|
|
|
self.warn(u"已到达value节点,无法获取路径信息")
|
|
|
return False
|
|
|
|