Exemplo n.º 1
0
    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
Exemplo n.º 2
0
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()  # 战队商店
Exemplo n.º 3
0
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()  # 商品购买后绑定
Exemplo n.º 4
0
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()  # 商品购买后绑定