class UnityPoco(): def __init__(self): self.poco = UnityPoco() def login_unity(self, game_server): """ 到点击登录按钮的login """ self.poco.click([0.05, 0.163]) time.sleep(1) self.poco.click([0.1, 0.13]) os.system(r'adb shell input text ' + game_server) self.poco.click([0.934, 0.867]) self.poco.click([0.03, 0.13]) self.poco("ObjLoginBtns").child("1").child('Image').click() try: self.poco("horizontalBtns").wait_for_appearance(timeout=5) self.poco("BtnOk").click() except Exception: print('已通过权限检测') def login_touch(self): self.poco("ObjLoginBtns").child("1").child('Image').click() def skip_anime(self): try: self.poco("UIPopupPlayVideo").wait_for_appearance(timeout=8) print('已进入到播放动画界面') try: self.poco("txtSkip").click() self.poco("BtnOk").click() except Exception: self.poco("UIPopupPlayVideo").click() self.poco("txtSkip").click() self.poco("BtnOk").click() except Exception: print('本次客户端没有播放动画') def board(self): try: self.poco("UIPopupLoginNotice").wait_for_appearance(timeout=5) for _ in range(3): try: fp = self.poco.freeze() try: fp("CloseBtn").click() except: fp("ObjBtns").child("BtnOk").click() except: break except Exception: print('无游戏公告') def get_ready(self): """ 到大厅准备好,可以直接调用aico的run的方法,这个写完,前面的连起来就可以用了!! """ def _sign(): """ 日常签到的关闭 """ if self.poco("BtnSignIn").exists(): self.poco("BtnSignIn").click() self.poco("btns").child("btnOk").click() self.poco("topBG").child("Back").click() def _bfi_close(): """ 最烦人的拍脸图关闭 """ for _ in range(30): if self.poco("btnClose").exists(): self.poco("btnClose").click() elif self.poco("UIHallSeasonStart").offspring( "BtnOk").exists(): self.poco("UIHallSeasonStart").offspring( "BtnOk").click() elif self.poco("Close").exists() != False: self.poco("Close").click() elif self.poco("nextText").exists(): self.poco("nextText").click() elif self.poco("Close").exists(): self.poco("Close").click() elif self.poco("CloseBtn").exists(): self.poco("CloseBtn").click() elif self.poco("point").offspring("BtnClose").exists(): self.poco("point").offspring("BtnClose").click() elif self.poco("X").exists() != False: self.poco("X").click() elif self.poco("EnContent").child("Back").exists(): self.poco("EnContent").child("Back").click() elif self.poco("empty").exists(): try: self.poco("empty").click() except Exception: pass else: break time.sleep(0.5) # 如果是新角色 需要创建角色 if self.poco("btnCreatPlayer").exists(): self.poco("btnCreatPlayer").click() self.poco("inputName").set_text("萝卜头") self.poco("BtnConfirm").click() self.poco("Button_Leave").click() else: print('不是新用户 直接进入到主界面') # 如果存在向导 if self.poco("Panel").child("Guider").exists(): self.poco.click([0.057, 0.96]) else: print('直接进入到了游戏 又不是新角色 也过了引导') # 这里就可以选择模式了 _bfi_close() try: _sign() except Exception: pass now_mode = self.poco("txtModeName").child("txt_main").get_text() if '单人' not in now_mode: self.poco("CityMode").click() time.sleep(1) self.poco.swipe([0.1, 0.5], [0.55, 0.5]) for i in range(7): mode_name = \ self.poco("UIHallSelectMode").offspring("Mask").child("Content").child("UIModeItem(Clone)")[ i].offspring( "PnlCountent1").children()[2].get_text() if '单人休闲模式' in mode_name: self.poco("UIHallSelectMode").offspring("Mask").child( "Content").child("UIModeItem(Clone)")[0].offspring( "PnlCountent1").click() break _bfi_close() _sign() def battle_remind(self): """ 处理破势的方法 """ def battle_start(): time.sleep(1) self.poco(texture="ui_zy_msxz_ks").click() self.poco("Panel").child("BtnOk").wait_for_appearance() self.poco("Panel").child("BtnOk").click() battle_start() self.poco("0").wait_for_appearance() time.sleep(4) # 卖棋子 self.poco("0").click() Adb_shell.tap([0.26, 0.89]) time.sleep(0.5) Adb_shell.swipe([0.26, 0.89], [0.055, 0.7]) time.sleep(1) try: self.poco("Checkmark").click() self.poco("Button_Ok").click() except Exception: pass # 刷棋盘 self.poco("DebugCanvas").child("Button").click() Adb_shell.swipe([0.74, 0.4], [0.74, 0.33]) time.sleep(2) self.poco("加满金币").child("Button").click() self.poco(text="关闭").click() try: self.poco("Button_Fresh").click() except Exception: self.poco("Button_Store").click() try: self.poco("Button_Fresh").click() except Exception: self.poco("Button_Store").click() self.poco("Button_Fresh").click() try: self.poco("Checkmark").click() self.poco("Button_Ok").click() except Exception: pass # 升人口 self.poco("Button_ReadChessBook").click() if self.poco("Checkmark").exists() == False: self.poco("Button_ReadChessBook").click() try: self.poco("Checkmark").click() self.poco("Button_Ok").click() except Exception: pass def battle_finish(self): self.poco("DebugCanvas").child("Button").click() self.poco("结束战斗").child("Button").click() self.poco("Close").child("Text").click() time.sleep(2) self.poco("Button_Leave").click() try: self.poco("btns").child("btnOk").click() except Exception: pass time.sleep(2) try: self.poco("btnContinue").click() except Exception: pass try: self.poco("Panle").child("textCloseDes").click() except Exception: pass try: self.poco("BtnClose").click() self.poco.click([0.02, 0.025]) except Exception: self.poco.click([0.02, 0.025]) try: self.poco("btnContinue").click() if self.poco("BtnClose").exists(): self.poco.click([0.02, 0.025]) except Exception: pass try: self.poco.click([0.02, 0.025]) self.poco("btns").child("btnOk").click() except Exception: pass
def mall(start, devices): # 商店功能测试 dev = connect_device("android:///" + devices) poco = UnityPoco(device=dev) if poco("Alphaboard").offspring("SysA_Friends").exists(): poco("Alphaboard").offspring("SysA_Friends").click() # 点击社交 if poco("FriendsDlg(Clone)").offspring("Tabs").child("item2").exists(): poco("FriendsDlg(Clone)").offspring("Tabs").child( "item2").click() # 点击战队 if poco("Create").exists(): poco("Create").click() # 创建战队 if poco("Bg2").exists(): poco("NameInput").set_text( f"{random.randint(100000, 99999999)}") # 输战队会名称 poco("Highlight").click() # 点击创建战队 else: print("已经有战队了") else: common.printred("没有进入社交界面,请检查...") common.get_screen_shot(start, time.time(), devices, "没有进入社交界面") else: common.printred("主界面没有社交按钮,请检查...") common.get_screen_shot(start, time.time(), devices, "主界面没有社交按钮") l_close = poco(texture="l_close_00") Close = poco("Close") for x in range(4): time.sleep(0.5) if l_close.exists() and Close.exists(): time.sleep(1.5) l_close.click() poco("RecruitPublishView(Clone)").offspring("Close").click() elif Close.exists(): time.sleep(1.5) Close.click() else: break if poco("SysAGameMall").exists(): poco("SysAGameMall").click() if poco("XSys_Mall").exists(): poco("XSys_Mall").click() else: common.printred("商城界面找不到商店页签,请检查") return else: common.printred("主界面找不到商城按钮,请检查") return for item in range(len(poco("Grid").child())): item1 = "item" + str(item) if poco("GameMall(Clone)").offspring("ShopFrame").offspring( item1).exists(): # 商店的子页签 # if poco("GameMall(Clone)").offspring("ShopFrame").offspring(item1).offspring("shopname").exists(): pos = poco("GameMall(Clone)").offspring("ShopFrame").offspring( item1) butpos(devices, butpos=pos, pos1=0.38, pos2=0.91, high=558, low=643, lows=366) # 调用butpos方法 pos.click() # 点击商店子页签 sleep(1) freeze_poco = poco.freeze() # TODO:定义dongjiepoco if not poco("Create").exists(): # 创建公会 common.printgreen("进入 " + poco("ShopName").get_text() + " 界面") if freeze_poco("MallDlg(Clone)").offspring( "TabShopFrame").child("item0").exists(): for item in range( (len(freeze_poco("TabShopFrame").child()) - 4)): # 点击子商店的子页签 item2 = "item" + str(item) if freeze_poco("MallDlg(Clone)").offspring( item2).offspring( "TextLabel").exists(): # 商店子页签 freeze_poco("MallDlg(Clone)").offspring( item2).offspring("TextLabel").click() if poco("MallDlg(Clone)").offspring("Panel").child( "item0").exists(): # 商店商品 pass else: common.printgreen( poco("MallDlg(Clone)").offspring( "TabShopFrame").child(item2).offspring( "TextLabel").get_text() + " 页签 没有找到任何售卖道具") else: if poco("MallDlg(Clone)").offspring("item0").exists(): common.printgreen( poco("ShopName").get_text() + " 页面没有其他子页签,界面检测到售卖道具,显示正确") else: common.printgreen( poco("ShopName").get_text() + " 页面没有其他子页签,没有找到任何售卖道具") poco("Close").click() else: common.printgreen("商店没有开启") poco("Close").click() else: common.printred("商店页面没有子页签,请检查...") return poco("item13").child("shopname").get_text() # 战队商店
def Auction(devices): # 点击交易所按钮 """ 点击交易所按钮,进入交易所界面 :param devices:移动设备端口号,用于识别设备 :return: """ dev = connect_device("android:///" + devices) poco = UnityPoco(device=dev) # 链接设备,并且重置poco poco("SysCAuction").click() # 点击交易所 poco("AuctionDlg(Clone)").offspring("DragonCoin").child( "SelectedTextLabel").click() # 点击龙币交易所 freeze_poco = poco.freeze() # TODO:定义dongjiepoco if freeze_poco( "ailin").exists() and not poco("AuctionDlg(Clone)").offspring( "item9").offspring("ItemTpl").offspring( "Name").exists(): # 如果选中框没有勾掉,他俩一起点击可以把所有的货物显示出来 poco("AuctionDlg(Clone)").offspring("ItemLevel").child( "Arrow").click() # 仅显示当前可用 poco("AuctionDlg(Clone)").offspring("ItemBlock").child( "Arrow").click() # 仅显示有货 for off in freeze_poco("AuctionDlg(Clone)").offspring( "TypeList").offspring("Label"): common.printgreen(f"检查点《{off.get_text()}》存在") # 以下是用来点击每个小选项 # Type = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("1").child("Label").get_position() # Selected = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("1").offspring("6").child("Selected").child( # "P").get_position() # name = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("1").child("Label") # if Selected[1] - Type[1] < 0.06: # 判断下拉框状态 # name.click() # 点击装备 # for item in range(6, 9): # item1 = str(item) # poco(f"{item1}").click() # auction(poco) # name.click() # 点击装备用来恢复界面 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("2").child("Label").click() # todo:点击龙器 # auction(poco) # A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").child("Label").get_position() # B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").offspring("Selected").child("P").get_position() # if B[1] - A[1] < 0.06: # 判断下拉框状态 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").child("Label").click() # todo:点击纹章 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").offspring("Selected").child("P").click() # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").child("Label").click() # todo:点击纹章恢复界面 # A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").child("Label").get_position() # B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").offspring("Selected").child("P").get_position() # if B[1] - A[1] < 0.06: # 判断下拉框状态 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").child("Label").click() # todo:金属板 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").offspring("Selected").child("P").click() # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").child("Label").click() # todo:点击金属板恢复界面 # A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").child("Label").get_position() # B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").offspring("22").child("Selected").child( # "P").get_position() # if B[1] - A[1] < 0.06: # 判断下拉框状态 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").child("Label").click() # todo:点击其他按钮 # A = ["22", "23", "26", "27", "28"] # for i in A: # # poco(f"{i}").click() # if poco(f"{i}").exists(): # for ii in range(10): # pos = poco(f"{i}").get_position() # if pos[1] < 0.28: # common.setswipe(1, [319, 256], [319, 577], devices) # elif pos[1] > 0.87: # common.setswipe(1, [319, 577], [319, 256], devices) # else: # break # poco(f"{i}").click() # for item in range(0): # 因为apk功能机制问题,所以只选择前10中商品进行抽样测试 # item1 = "item" + str(item) # if poco("AuctionDlg(Clone)").offspring(item1).offspring("ItemTpl").exists(): # common.printgreen(poco("AuctionDlg(Clone)").offspring(item1).offspring("ItemTpl").offspring( # "Name").get_text() + " 道具显示正常") # else: # pass # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").child("Label").click() # todo:点击恢复其他按钮 # poco("9").click() # todo:点击菜肴按钮 # for item in range(0): # 因为apk功能机制问题,所以只选择前10中商品进行抽样测试 # item1 = "item" + str(item) # if poco("AuctionDlg(Clone)").offspring(item1).exists(): # common.printgreen(poco("AuctionDlg(Clone)").offspring(item1).offspring("ItemTpl").offspring( # "Name").get_text() + " 道具显示存在") poco("AuctionDlg(Clone)").offspring("Crystal").child( "SelectedTextLabel").click() # TODO:点击水晶交易所 if poco("ailin").exists() and not poco("AuctionDlg(Clone)").offspring( "item9").offspring("ItemTpl").offspring( "Name").exists(): # 如果选中框没有勾掉,他俩一起点击可以把所有的货物显示出来 poco("AuctionDlg(Clone)").offspring("ItemLevel").child( "Arrow").click() # 仅显示当前可用 poco("AuctionDlg(Clone)").offspring("ItemBlock").child( "Arrow").click() # 仅显示有货 for off in freeze_poco("AuctionDlg(Clone)").offspring( "TypeList").offspring("Label"): common.printgreen(f"检查点《{off.get_text()}》存在") # A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").child("Label").get_position() # B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").offspring("31").child("Label").get_position() # if B[1] - A[1] < 0.06: # 判断下拉框状态 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").child("Label").click() # TODO:点击装备 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").offspring("31").child("Label").click() # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").child("Label").click() # TODO:点击恢复装备 # # A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").child("Label").get_position() # B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").offspring("41").child("Label").get_position() # if B[1] - A[1] < 0.06: # 判断下拉框状态 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").child("Label").click() # TODO:点击家园 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").offspring("41").child("Label").click() # 点击作物 # auction(poco) # # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").offspring("42").child("Label").click() # 点击料理 # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").child("Label").click() # TODO:点击恢复家园 # # A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").child("Label").get_position() # B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("29").child("Label").get_position() # if B[1] - A[1] < 0.06: # 判断下拉框状态 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").child("Label").click() # TODO:点击其他 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("29").child("Label").click() # 点击活动礼包 # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("51").child("Label").click() # 点击三件套时装 # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("52").child("Label").click() # 点击坐骑 # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").child("Label").click() # TODO:点击恢复其他 # # A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").child("Label").get_position() # B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").offspring("61").child("Label").get_position() # if B[1] - A[1] < 0.06: # 判断下拉框状态 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").child("Label").click() # TODO:点击纹章 # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").offspring("61").child("Label").click() # 点击金属板 # auction(poco) # # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").offspring("62").child("Label") # 点击属性纹章 # auction(poco) # poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").child("Label").click() # TODO:点击恢复纹章 poco("AuctionDlg(Clone)").offspring("Sell").child( "SelectedTextLabel").click() # TODO:点击我要出售 if poco("ailin").exists() and poco("Tip").exists() and poco( texture="l_frame_01").exists(): common.printgreen( poco("AuctionDlg(Clone)").offspring("Sell").child( "SelectedTextLabel").get_text() + " 界面显示正确") # 以下为出售道具 if poco("AuctionDlg(Clone)").offspring("item0").child("Icon").exists(): poco("AuctionDlg(Clone)").offspring("item0").child("Icon").click() common.printgreen("准备上架 " + poco("ItemTpl").child("Name").get_text()) if poco("AuctionBillFrame(Clone)").child("Bg").exists(): poco("RightButton").click() common.printgreen( poco("AuctionDlg(Clone)").offspring("item0").offspring( "ItemTpl").offspring("Name").get_text() + "上架成功---测试完成,准备下架") if poco("AuctionDlg(Clone)").offspring("item0").offspring( "ItemTpl").offspring("Name").exists(): poco("AuctionDlg(Clone)").offspring("item0").offspring( "ItemTpl").offspring("Name").click() if poco("LeftButton").exists(): # 点击商品下架 common.printgreen( "准备下架---" + poco("AuctionDlg(Clone)").offspring("item0").offspring( "ItemTpl").offspring("Name").get_text()) poco("LeftButton").click() common.printgreen("下架成功") if poco("SellListEmpty").exists(): common.printgreen("上架下架测试完成") else: common.printgreen("没有道具可以出售....") poco("AuctionDlg(Clone)").offspring("GuildAuc").child( "SelectedTextLabel").click() # TODO:点击拍卖行 # 以下是为了省时间才做的 freeze_poco = poco.freeze() # TODO:定义冻结poco for off in freeze_poco("AuctionDlg(Clone)").offspring("Table").offspring( "Label"): common.printgreen(f"检查点 《{off.get_text()}》 存在") # poco("AuctionDlg(Clone)").offspring("Table").child("item0").child("Label").click() # TODO:点击工会拍卖 # if poco("Result").exists(): # 判断工会拍卖按钮是否存在 # poco("Result").click() # if poco("AuctionDlg(Clone)").offspring("ResultWindow").child("Title").exists(): # 判断工会拍卖弹窗是否存在 # common.printgreen(poco("AuctionDlg(Clone)").offspring("ResultWindow").child("Title").get_text() + " 显示正确") # poco(texture="l_close_00").click() # 判断完成后点击返回 # A = poco("AuctionDlg(Clone)").offspring("Table").child("item1").child("Label").get_position() # TODO:点击世界拍卖 # B = poco("AuctionDlg(Clone)").offspring("Table").child("item1").offspring("item0").child("Label").get_position() # if A[1] - B[1] < 0.6: # poco("AuctionDlg(Clone)").offspring("Table").child("item1").child("Label").click() # freeze_poco = poco.freeze() # TODO:定义dongjiepoco # for item in range(8): # item1 = "item" + str(item) # if freeze_poco("AuctionDlg(Clone)").offspring("Table").child("item1").offspring(item1).child("Label").exists(): # common.printgreen(freeze_poco("AuctionDlg(Clone)").offspring("Table").child("item1").offspring(item1).child( # "Label").get_text() + " 显示正确") # if poco("Result").exists(): # 判断世界拍卖是不是存在 # poco("Result").click() # freeze_poco = poco.freeze() # TODO:定义dongjiepoco # if freeze_poco("AuctionDlg(Clone)").offspring("ResultWindow").child("Title").exists(): # freeze_poco(texture="l_close_00").click() # common.printgreen( # freeze_poco("AuctionDlg(Clone)").offspring("GuildAuc").child("SelectedTextLabel") # .get_text() + " 界面显示正确") poco("AuctionDlg(Clone)").offspring("DragonCoin").child( "SelectedTextLabel").click() # 点击龙币交易所 poco("AuctionDlg(Clone)").offspring("ItemLevel").child( "Arrow").click() # 仅显示当前可用 poco("AuctionDlg(Clone)").offspring("ItemBlock").child( "Arrow").click() # 点上,为下次重置环境准备 return poco("t2").get_text() # 商品购买后绑定
def Auction(devices): # 点击交易所按钮 """ 点击交易所按钮,进入交易所界面 :param devices:移动设备端口号,用于识别设备 :return: """ dev = connect_device("android:///" + devices) poco = UnityPoco(device=dev) # 链接设备,并且重置poco freeze_poco = poco.freeze() # TODO:定义dongjiepoco freeze_poco("SysCAuction").click() # 点击交易所 poco("AuctionDlg(Clone)").offspring("DragonCoin").child("SelectedTextLabel").click() # 点击龙币交易所 freeze_poco = poco.freeze() # TODO:定义dongjiepoco if freeze_poco("ailin").exists() and not poco("AuctionDlg(Clone)").offspring("item9").offspring("ItemTpl").offspring("Name").exists(): # 如果选中框没有勾掉,他俩一起点击可以把所有的货物显示出来 poco("AuctionDlg(Clone)").offspring("ItemLevel").child("Arrow").click() # 仅显示当前可用 poco("AuctionDlg(Clone)").offspring("ItemBlock").child("Arrow").click() # 仅显示有货 Type = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("1").child("Label").get_position() Selected = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("1").offspring("6").child("Selected").child( "P").get_position() name = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("1").child("Label") if Selected[1]-Type[1] < 0.06: # 判断下拉框状态 name.click() # 点击装备 for item in range(6, 9): item1 = str(item) poco(f"{item1}").click() auction(poco) name.click() # 点击装备用来恢复界面 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("2").child("Label").click() # todo:点击龙器 auction(poco) A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").child("Label").get_position() B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").offspring("Selected").child("P").get_position() if B[1] - A[1] < 0.06: # 判断下拉框状态 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").child("Label").click() # todo:点击纹章 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").offspring("Selected").child("P").click() auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("3").child("Label").click() # todo:点击纹章恢复界面 A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").child("Label").get_position() B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").offspring("Selected").child("P").get_position() if B[1] - A[1] < 0.06: # 判断下拉框状态 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").child("Label").click() # todo:金属板 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").offspring("Selected").child("P").click() auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("4").child("Label").click() # todo:点击金属板恢复界面 A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").child("Label").get_position() B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").offspring("22").child("Selected").child( "P").get_position() if B[1] - A[1] < 0.06: # 判断下拉框状态 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").child("Label").click() # todo:点击其他按钮 A = ["22", "23", "26", "27", "28"] for i in A: # poco(f"{i}").click() if poco(f"{i}").exists(): for ii in range(10): pos = poco(f"{i}").get_position() if pos[1] < 0.28: common.setswipe(1, [319, 256], [319, 577], devices) elif pos[1] > 0.87: common.setswipe(1, [319, 577], [319, 256], devices) else: break poco(f"{i}").click() for item in range(1): # 因为apk功能机制问题,所以只选择前10中商品进行抽样测试 item1 = "item" + str(item) if poco("AuctionDlg(Clone)").offspring(item1).offspring("ItemTpl").exists(): common.printgreen(poco("AuctionDlg(Clone)").offspring(item1).offspring("ItemTpl").offspring( "Name").get_text() + " 道具显示正常") else: pass poco("AuctionDlg(Clone)").offspring("TypeList").offspring("5").child("Label").click() # todo:点击恢复其他按钮 poco("9").click() # todo:点击菜肴按钮 for item in range(1): # 因为apk功能机制问题,所以只选择前10中商品进行抽样测试 item1 = "item" + str(item) if poco("AuctionDlg(Clone)").offspring(item1).exists(): common.printgreen(poco("AuctionDlg(Clone)").offspring(item1).offspring("ItemTpl").offspring( "Name").get_text() + " 道具显示存在") poco("AuctionDlg(Clone)").offspring("Crystal").child("SelectedTextLabel").click() # TODO:点击水晶交易所 if poco("ailin").exists() and not poco("AuctionDlg(Clone)").offspring("item9").offspring("ItemTpl").offspring("Name").exists(): # 如果选中框没有勾掉,他俩一起点击可以把所有的货物显示出来 poco("AuctionDlg(Clone)").offspring("ItemLevel").child("Arrow").click() # 仅显示当前可用 poco("AuctionDlg(Clone)").offspring("ItemBlock").child("Arrow").click() # 仅显示有货 A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").child("Label").get_position() B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").offspring("31").child("Label").get_position() if B[1] - A[1] < 0.06: # 判断下拉框状态 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").child("Label").click() # TODO:点击装备 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").offspring("31").child("Label").click() auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("30").child("Label").click() # TODO:点击恢复装备 A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").child("Label").get_position() B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").offspring("41").child("Label").get_position() if B[1] - A[1] < 0.06: # 判断下拉框状态 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").child("Label").click() # TODO:点击家园 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").offspring("41").child("Label").click() # 点击作物 auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").offspring("42").child("Label").click() # 点击料理 auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("40").child("Label").click() # TODO:点击恢复家园 A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").child("Label").get_position() B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("29").child("Label").get_position() if B[1] - A[1] < 0.06: # 判断下拉框状态 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").child("Label").click() # TODO:点击其他 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("29").child("Label").click() # 点击活动礼包 auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("51").child("Label").click() # 点击三件套时装 auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").offspring("52").child("Label").click() # 点击坐骑 auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("50").child("Label").click() # TODO:点击恢复其他 A = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").child("Label").get_position() B = poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").offspring("61").child("Label").get_position() if B[1] - A[1] < 0.06: # 判断下拉框状态 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").child("Label").click() # TODO:点击纹章 poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").offspring("61").child("Label").click() # 点击金属板 auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").offspring("62").child("Label") # 点击属性纹章 auction(poco) poco("AuctionDlg(Clone)").offspring("TypeList").offspring("60").child("Label").click() # TODO:点击恢复纹章 poco("AuctionDlg(Clone)").offspring("Sell").child("SelectedTextLabel").click() # TODO:点击我要出售 if poco("ailin").exists() and poco("Tip").exists() and poco(texture="l_frame_01").exists(): common.printgreen( poco("AuctionDlg(Clone)").offspring("Sell").child("SelectedTextLabel").get_text() + " 界面显示正确") # 以下为出售道具 if poco("AuctionDlg(Clone)").offspring("item0").child("Icon").exists(): poco("AuctionDlg(Clone)").offspring("item0").child("Icon").click() common.printgreen("准备上架 " + poco("ItemTpl").child("Name").get_text()) if poco("AuctionBillFrame(Clone)").child("Bg").exists(): poco("RightButton").click() common.printgreen(poco("AuctionDlg(Clone)").offspring("item0").offspring("ItemTpl").offspring( "Name").get_text() + "上架成功---测试完成,准备下架") if poco("AuctionDlg(Clone)").offspring("item0").offspring("ItemTpl").offspring("Name").exists(): poco("AuctionDlg(Clone)").offspring("item0").offspring("ItemTpl").offspring("Name").click() if poco("LeftButton").exists(): # 点击商品下架 common.printgreen( "准备下架---" + poco("AuctionDlg(Clone)").offspring("item0").offspring("ItemTpl").offspring( "Name").get_text()) poco("LeftButton").click() common.printgreen("下架成功") if poco("SellListEmpty").exists(): common.printgreen("上架下架测试完成") else: common.printgreen("没有道具可以出售....") poco("AuctionDlg(Clone)").offspring("GuildAuc").child("SelectedTextLabel").click() # TODO:点击拍卖行 poco("AuctionDlg(Clone)").offspring("Table").child("item0").child("Label").click() # TODO:点击工会拍卖 if poco("Result").exists(): # 判断工会拍卖按钮是否存在 poco("Result").click() if poco("AuctionDlg(Clone)").offspring("ResultWindow").child("Title").exists(): # 判断工会拍卖弹窗是否存在 common.printgreen(poco("AuctionDlg(Clone)").offspring("ResultWindow").child("Title").get_text() + "显示正确") poco(texture="l_close_00").click() # 判断完成后点击返回 A = poco("AuctionDlg(Clone)").offspring("Table").child("item1").child("Label").get_position() # TODO:点击世界拍卖 B = poco("AuctionDlg(Clone)").offspring("Table").child("item1").offspring("item0").child("Label").get_position() if A[1] - B[1] < 0.6: poco("AuctionDlg(Clone)").offspring("Table").child("item1").child("Label").click() freeze_poco = poco.freeze() # TODO:定义dongjiepoco for item in range(8): item1 = "item" + str(item) if freeze_poco("AuctionDlg(Clone)").offspring("Table").child("item1").offspring(item1).child("Label").exists(): common.printgreen(freeze_poco("AuctionDlg(Clone)").offspring("Table").child("item1").offspring(item1).child("Label").get_text() + "显示正确") if poco("Result").exists(): # 判断世界拍卖是不是存在 poco("Result").click() freeze_poco = poco.freeze() # TODO:定义dongjiepoco if freeze_poco("AuctionDlg(Clone)").offspring("ResultWindow").child("Title").exists(): freeze_poco(texture="l_close_00").click() common.printgreen(freeze_poco("AuctionDlg(Clone)").offspring("GuildAuc").child("SelectedTextLabel").get_text() + "界面显示正确") poco("AuctionDlg(Clone)").offspring("DragonCoin").child("SelectedTextLabel").click() # 点击龙币交易所 poco("AuctionDlg(Clone)").offspring("ItemLevel").child("Arrow").click() # 仅显示当前可用 poco("AuctionDlg(Clone)").offspring("ItemBlock").child("Arrow").click() # 点上,等于微瑕疵重置环境准备 return poco("t2").get_text() # 商品购买后绑定