Ejemplo n.º 1
0
def chat(start, devices):
    poco = common.deviceconnect(devices)
    poco("Back").click()  # 点击聊天功能
    sleep(1)
    chatlist = [1, 2, 3, 4, 10, 14]
    freeze_poco = poco.freeze()  # TODO:定义冻结poco
    for tab in chatlist:
        tab1 = "tab" + str(tab)
        if freeze_poco("ChatNewDlg_ani").offspring(tab1).offspring("Bg").child(
                "name").exists():
            common.printgreen("检查点 " + freeze_poco("ChatNewDlg_ani").offspring(
                tab1).offspring("Bg").child("name").get_text() + " 聊天选项 显示正确")
            poco("ChatNewDlg_ani").offspring(tab1).offspring("Bg").child(
                "name").click()
            if poco("chattext").exists():
                poco("textinput").wait().set_text("聊五毛钱的天。。。")
                poco("sendchat").click()  # 点击发送
                if poco("addBtn").exists():
                    poco("addBtn").click()  # 表情
                    sleep(1)
                    item1 = "item" + str(random.randint(0, 23))
                    poco(item1).child("template").click()
                    poco("sendchat").click()  # 点击发送
                    sleep(2)
            else:
                common.printgreen("当前聊天选项没有输入选项")
        else:
            common.printred(f"检查点  聊天选项 发{tab1} 不存在,检查一下.一个大选项,大概率是因为没有加工会造成")
            common.get_screen_shot(start, time.time(), devices, "聊天选项控件缺失")
    return poco("ChatNewDlg_ani").offspring("tab4").offspring(
        "Selected").child("name").get_text()
Ejemplo n.º 2
0
def skill(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysBSkill").get_position()[0] > 1:
        poco(texture="halln_4").click()
        sleep(2)
    else:
        common.printgreen("当前界面就有技能按钮")
    poco("SysBSkill").click()  # 点击技能按钮
    if poco("SkillTreeBox").exists():
        common.printgreen("进入技能界面")
        chongzhi(poco)
        freeze_poco = poco.freeze()  # TODO:定义冻结poco
        # for item in freeze_poco("SkillTree(Clone)").offspring("Tabs").offspring("Selected"):
        for item in freeze_poco("SkillTree(Clone)").offspring("Tabs").offspring("SelectedTextLabel"):
            # 点击职业选项
            common.printgreen(f"开始点击  {item.get_text()}  页签")
            item.click()
            sleep(2)
            freeze_poco = poco.freeze()  # TODO:定义冻结poco
            if freeze_poco("SkillTree(Clone)").offspring("Icon").exists():
                count = 0
                for skill in freeze_poco("SkillTree(Clone)").offspring("Icon"):
                    skill.click()
                    count += 1
                    if count >= 2:
                        break
    return poco("SkillTree(Clone)").offspring("Tabs").child("item3").child("SelectedTextLabel").get_text()  # 觉醒
Ejemplo n.º 3
0
def title(start,devices):
    poco = common.deviceconnect(devices)
    if poco("SysAItem").get_position()[0] > 1:
        poco(texture="halln_4").click()
        sleep(1)
    poco("SysAItem").click()  # 点击角色按钮
    if poco("Title").exists():
        common.printgreen("进入角色界面")
        if poco("XSys_Design_Designation").exists():
            poco("XSys_Design_Designation").click()  # 点击称号
            if poco(text="日常称号").exists():
                common.printgreen("进入称号界面,开始检测称号。。。")
                for i in range(1, 7):
                    for Label in poco("ItemNewDlg(Clone)").offspring(str(i)).child("ChildList").offspring("Label"):
                        Label.click()
                        freeze_poco = poco.freeze()  # TODO:定义冻结poco
                        for ii in range(len(freeze_poco("WrapContent").child())):
                            title = freeze_poco("ItemNewDlg(Clone)").offspring(f"item{ii}").offspring("Animation")
                            if title.exists():  # 判断称号存在
                                pass
                            else:
                                if "fff" in title:
                                    print(freeze_poco("ItemNewDlg(Clone)").offspring(f"item{ii}").offspring( "Animation").get_text() + "称号显示错误")
                                else:
                                    print("图片称号显示错误")
                                    common.get_screen_shot(start,time.time(), devices, "没有进入角色界面")
                    poco("ItemNewDlg(Clone)").offspring(str(i)).child("Bg").click()
                common.printgreen("称号检测完毕。。。没有发现异常")
    else:
        common.printred("没有进入角色界面,请检查")
        common.get_screen_shot(start,time.time(), devices, "没有进入角色界面")
    return poco(text="[fff7b4]钓鱼大师").get_text()  # [fff7b4]钓鱼大师
Ejemplo n.º 4
0
def mail(start, devices):
    poco = common.deviceconnect(devices)
    if poco("Back").exists():
        poco("Back").click()  # 点击聊天功能
        sleep(1)
        # 点击世界频道按钮
        poco("tab1").click()
        if poco("Mail").exists():
            # 点击邮箱
            poco("Mail").click()
            if poco("MailName").exists():
                common.printgreen("进入邮箱功能")
                common.printgreen("点击邮件收取")
                poco("sqBtn").click()
                sleep(2)
                if poco("GreyModalDlg(Clone)").child("Bg").exists():
                    common.printgreen("没有可领取的邮件")
                    sleep(1)
                    poco("OK").click()
                if poco("MailDlg(Clone)").offspring("item0").exists():
                    common.printgreen(
                        "邮箱有邮件,开始进行删除测试,因为删除是没有反馈的,所以只进行点击测试,拿不到结果")
                    poco("MailDlg(Clone)").offspring("item0").child(
                        "sign").click()
                    poco("deletBtn").click()
            else:
                common.printred("没有进入邮箱界面,请检查")
                common.get_screen_shot(start, time.time(), devices, "没有进入邮箱界面")
    return poco("MailName").get_text()  # 邮 件
Ejemplo n.º 5
0
def bossrush(start, devices):
    poco = common.deviceconnect(devices)
    if poco("Duck").exists():
        poco("Duck").click()
        sleep(2)
        poco("XSys_Activity").click()  # 点击日常按钮
    else:
        common.printgreen("主界面缺少日常按钮,请检查...")
        common.get_screen_shot(start, time.time(), devices, "主界面缺少日常按钮")
    pos = poco("DailyActivityDlg(Clone)").offspring(
        "XActivityHandler").offspring("Item927").offspring(
            "Background")  # 无限幻境参加按钮
    if pos.exists():
        butpos(devices,
               butpos=pos,
               pos1=0.4,
               pos2=0.79,
               high=565,
               low=511,
               lows=240)  # 调用butpos方法
        pos.click()  # 点击无限幻境参加按钮
    else:
        common.printgreen("日常界面没有无限幻境选项,请检查...")
        common.get_screen_shot(start, time.time(), devices, "日常界面没有无限幻境选项")
    if poco("Title").exists():
        common.printgreen("进入无限幻境界面,开始检测界面控件元素")
Ejemplo n.º 6
0
def loginreward(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysISevenActivity").exists():
        poco("SysISevenActivity").click()
        if poco(texture="SevenReward_Title").exists():
            freeze_poco = poco.freeze()  # TODO:定义dongjiepoco
            for WrapItem_ in range(len(freeze_poco("ScrollView").child())):
                WrapItem = "WrapItem_" + str(WrapItem_)
                if freeze_poco(WrapItem).exists() and freeze_poco("Texture").exists():
                    pass
                else:
                    common.printred("登陆奖励缺少元素,请检查。。。")
                    common.get_screen_shot(start, time.time(), devices, "登陆奖励缺少元素")
            if poco("SevenAwardDlg(Clone)").offspring("GetButton").offspring(text="领 取").exists():
                for Label in poco("SevenAwardDlg(Clone)").offspring("GetButton").offspring(text="领 取"):
                    Label.click()
                    for i in range(10):
                        if poco(text="使用").exists():
                            poco(text="使用").click()
                        else:
                            break
                if not poco("SevenAwardDlg(Clone)").offspring("WrapItem_6").offspring(text="领 取").exists():
                    common.printgreen("已经全部领取")
            else:
                common.printgreen("没有可领取的奖励")
        else:
            common.printred("没有弹出登陆奖励,请检查。。。")
            common.get_screen_shot(start, time.time(), devices, "主界面没有登陆奖励按钮")
    else:
        common.printred("主界面没有登陆奖励按钮,请检查。。。")
        common.get_screen_shot(start, time.time(), devices, "主界面没有登陆奖励按钮")
    if poco(texture="SevenReward_Title").exists():
        return poco(texture="SevenReward_Title").get_name()  # Title
    else:  # TODO:说明一下,如果主界面没有登陆奖励按钮,那么报告给一个失败的提示,因为不确定是因为领完了消失还是BUG的原因
        return poco("Alphaboard").offspring("SysA_Friends").child("Name").get_text()  # 社交
Ejemplo n.º 7
0
def chapter_seventeen(devices):
    """ 主线第十七章
    :return:Complete_Map()参数表示移动多少次可以到达指定章节
    """
    poco = common.deviceconnect(devices)
    Complete_Map(1,poco,devices)
    return poco("Duck").get_name()
Ejemplo n.º 8
0
def chapter_twelve(devices):
    """ 主线第十二章
    :return:Complete_Map()参数表示移动多少次可以到达指定章节
    """
    poco = common.deviceconnect(devices)
    Complete_Map(6,poco,devices)
    return poco("Duck").get_name()
Ejemplo n.º 9
0
def witness(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysG_Live").exists():
        poco("SysG_Live").click()
        freeze_poco = poco.freeze()  # TODO:定义dongjiepoco
        if freeze_poco("SpectateDlg(Clone)").offspring("Name").exists():
            for Label in freeze_poco("SpectateDlg(Clone)").offspring("SpectateFrame").\
                    offspring("Bg").offspring("TextLabel"):
                Label.click()  # 点击观战的多项子页签
            freeze_poco("Refresh").click()  # 点击刷新按钮
            freeze_poco("1").click()  # 点击我的记录
            freeze_poco = poco.freeze()  # TODO:定义dongjiepoco
            if freeze_poco("Watch").exists() and freeze_poco("Commend").exists():
                pass
            poco("Text").click()  # 点击观战设置
            freeze_poco = poco.freeze()  # TODO:定义dongjiepoco
            if freeze_poco("BtnDeny").exists() and freeze_poco("BtnAllow").exists() and freeze_poco("Ok").exists():
                freeze_poco("SpectateDlg(Clone)").offspring("BtnDeny").child("BtnHigh").click()  # 点击不允许被观战
                common.printgreen("点击不允许被观战")
                common.get_screen_shot(start, time.time(), devices, "点击不允许被观战")
                freeze_poco("SpectateDlg(Clone)").offspring("BtnAllow").child("BtnHigh").click()  # 点击允许被观战
                common.printgreen("点击允许被观战")
                sleep(0.5)
                common.get_screen_shot(start, time.time(), devices, "点击允许被观战")
                return poco("Label").get_text()  # 保存设置
        else:
            common.printred("没有进入观战界面,请检查。。。")
            common.get_screen_shot(start, time.time(), devices, "没有进入观战界面")
    else:
        common.printred("主界面没有有观战按钮,请检查。。。")
        common.get_screen_shot(start, time.time(), devices, "主界面没有有观战按钮")
Ejemplo n.º 10
0
def darkness_ectype(start, devices):
    poco = common.deviceconnect(devices)
    if poco("Duck").exists():
        poco("Duck").click()
        sleep(2)
        poco("XSys_Activity").click()  # 点击日常按钮
    else:
        common.printgreen("主界面缺少日常按钮,请检查...")
        common.get_screen_shot(start, time.time(), devices, "主界面缺少日常按钮")
    pos = poco("DailyActivityDlg(Clone)").offspring("XActivityHandler").offspring("Item530").offspring("Background")  # 黑暗神殿参加按钮
    if pos.exists():
        butpos(devices,butpos=pos, pos1=0.4, pos2=0.79, high=565, low=511, lows=240)  # 调用butpos方法
        pos.click()  # 点击黑暗神殿参加按钮
    else:
        common.printgreen("日常界面没有黑暗神殿选项,请检查...")
        common.get_screen_shot(start, time.time(), devices, "日常界面没有黑暗神殿选项")
    if poco("Title").exists():  # 排行榜
        poco("Rank").click()
        freeze_poco = poco.freeze()  # TODO:定义冻结poco
        if freeze_poco("1").exists() and freeze_poco("2").exists() and freeze_poco("3").exists() and freeze_poco("4").exists() and freeze_poco("5").exists():
            for i in range(1,20):
                common.printgreen("检查点 " + freeze_poco(str(i)).child("Label").get_text() + " 显示正确")
            common.printgreen("排行榜首界面显示正确,详细内容不做判断,如果需要,后期优化")
            poco("Close").click()
        else:
            common.printred("排行榜界面显示错误,请检查....")
            common.get_screen_shot(start, time.time(), devices, "排行榜界面显示错误")
    if poco("FirstBlood").exists():  # 首通奖励
        poco("FirstBlood").click()
        freeze_poco = poco.freeze()  # TODO:定义冻结poco
        if freeze_poco("TeamTowerNewDlg(Clone)").offspring("CheckReward").offspring("T").exists() and \
                freeze_poco(texture="l_imageView_07").exists() and freeze_poco("GetAfterPass").exists():
            common.printgreen("首通奖励显示正确...")
            poco("Close").click()
        else:
            common.printred("首通奖励显示错误,请检查.....")
            common.get_screen_shot(start, time.time(), devices, "首通奖励显示错误")

    if poco("times").get_text()[0] == "1":
        common.printgreen("黑暗神殿有重置次数...")
        poco("Reset").click()
        if poco("OK").exists():
            poco("OK").click()
            common.printgreen("重置完成...")
        else:
            common.printred("连第一层都没有打过,不能重置。。。")
            common.get_screen_shot(start, time.time(), devices, "不能重置")
    else:
        common.printgreen("当前没有重置次数,接着打吧....")
        common.get_screen_shot(start, time.time(), devices, "当前没有重置次数")
    if poco("GoBattle").exists():
        poco("GoBattle").click()
        sleep(15)
        darkness(poco,devices)
        sleep(15)

        return poco("Title").get_text()
Ejemplo n.º 11
0
def chapter_eighteen(devices):
    """ 主线第十八章
    :return:Complete_Map()参数表示移动多少次可以到达指定章节
    """
    poco = common.deviceconnect(devices)
    Complete_Map(0,poco,devices)
    return poco("Duck").get_name()
# devices = "127.0.0.1:62001"
# chapter_one(devices)
Ejemplo n.º 12
0
def dragonspirit(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysG_DragonSpirit").exists():  # 龙魂按钮存在
        if poco("SysG_DragonSpirit").get_position()[0] > 1:  # 界面有龙魂按钮
            poco(texture="halln_4").click()
            poco("SysG_DragonSpirit").click()
        else:
            poco("SysG_DragonSpirit").click()
    freeze_poco = poco.freeze()  # TODO:定义冻结poco
    if freeze_poco("DragonSpiritDlg(Clone)").offspring("AvatarPanel").child("item0").exists() and \
        freeze_poco("DragonSpiritDlg(Clone)").offspring("AvatarPanel").child("item1").exists():
        for item in poco("AvatarPanel").offspring("HeadIcon"):
            item.click()
            freeze_poco = poco.freeze()  # TODO:定义冻结poco
            # 程序隐藏了5个控件,所以以下只点击5次
            count = 0
            for icon in freeze_poco("DragonSpiritDlg(Clone)").offspring(
                    "Panel").offspring("lock"):
                icon.click()
                sleep(0.5)
                icon.click()
                count += 1
                if count >= 5:
                    break
            if poco("DragonSpiritSkillPreView").child("Bg").child(
                    "p").exists():
                icon.click()
            # 点击激活按钮
            # poco("ActivationBtn").click()
            if poco(texture="l_frame_00").exists():
                common.printred("没有激活道具。请补充。。")
                poco("ActivationBtn").click()
                break
            if poco("LevelUpBtn").exists():
                common.printgreen("已经激活,开始喂养")
                poco("LevelUpBtn").click()
                if not poco("Title").exists():  # 如果没有弹出就重新点击
                    poco("LevelUpBtn").click()
                if poco("Title").exists():  # 喂养界面
                    if poco("DragonSpiritHandler").offspring(
                            "LevelUpBtn").exists():  # 如果有喂养按钮
                        poco("DragonSpiritHandler").offspring(
                            "LevelUpBtn").click()  # 点击喂养
                        poco(texture="l_close_00").click()  # 点击关闭
                    elif poco("DirectUpBtn").exists():  # 如果有突破按钮
                        poco("DirectUpBtn").click()  # 点击突破
                        poco(texture="l_close_00").click()  # 点击关闭
                else:
                    common.printred("没有弹出喂养界面,请检查。。。")
                    common.get_screen_shot(start, time.time(), devices,
                                           "没有弹出喂养界面")
            if poco("ItemAccessDlg(Clone)").offspring("Title").exists():
                freeze_poco("ActivationBtn").click()
    else:
        common.printred("龙魂界面控件缺失,请检查")
        common.get_screen_shot(start, time.time(), devices, "龙魂界面控件缺失")
    return poco("Total").child("Text").get_text()  # 龙魂总属性
Ejemplo n.º 13
0
def firststartgame(username, password, packname, devices, server):
    dev = common.connect_device("android:///" + devices)
    common.start_app(packname)  # 启动app
    Androidpoco = AndroidUiautomationPoco(device=dev, use_airtest_input=True, screenshot_each_action=False)
    common.sleep(2)
    while True:
        common.sleep(1)
        if Androidpoco("android:id/button1").exists():
            Androidpoco("android:id/button1").click()
        else:
            break
    if Androidpoco("android:id/message").exists():
        Androidpoco("android:id/button1").click()
    common.sleep(5)
    while True:
        poco = common.deviceconnect(devices)
        common.sleep(5)
        try:
            poco("iptAccount").wait_for_appearance(60)
            common.sleep(3)
            print(f"{devices}加载完成,开始登录账号")
            poco("iptAccount").set_text(username)
            poco("iptPassword").set_text(password)
            common.sleep(3)
            poco("btnLogin").click()
            common.sleep(3)
            if poco(texture="l_button_00").exists():  # 公告
                poco(texture="l_button_00").click()
            if poco("Panel").exists():  # 前往新区
                poco(texture="btk5").click()
            if poco("Label").get_text().split(" ")[0] == "OB+13":
                print(f"要找的服务器为 {server} , 现在已经是需要的服务器了,不需要重新选择...")
            else:
                if poco("zhanghao").exists():  # 更换服务器按钮
                    poco("zhanghao").click()
                    select_server(poco, server)
            print(f"选择 {server} 服务器成功")
            common.sleep(2)
            if poco("Enter").exists():
                poco("Enter").click()
                common.sleep(2)
            if poco(text="进入游戏").exists():
                poco(text="进入游戏").click()
                common.sleep(2)
            print("点击进入游戏,开始选择角色。。。")
            poco("EnterGame").wait_for_appearance()
            if poco("EnterGame").exists():
                poco("EnterGame").click()
                print("角色自动寻找成功,点击开始游戏。。。")
                common.sleep(15)
            break
        except:
            print(f"{devices}还未加载完毕,请稍等.....")
    common.sleep(5)
    common.stop_app(packname)
Ejemplo n.º 14
0
def reward(start, devices):
    poco = common.deviceconnect(devices)
    if poco("Duck").exists():
        poco("Duck").click()
        sleep(2)
        poco("XSys_Activity").click()  # 点击日常按钮
    else:
        common.printgreen("主界面缺少日常按钮,请检查...")
        common.get_screen_shot(start, time.time(), devices, "主界面缺少日常按钮")
    pos = poco("DailyActivityDlg(Clone)").offspring("XActivityHandler").offspring("Item904").offspring("Background")  # 悬赏任务参加按钮
    if pos.exists():
        butpos(devices,butpos=pos, pos1=0.4, pos2=0.79, high=565, low=511, lows=240)  # 调用butpos方法
        pos.click()  # 点击日常任务参加按钮
    else:
        common.printgreen("日常界面没有悬赏任务选项,请检查...")
        common.get_screen_shot(start, time.time(), devices, "日常界面没有悬赏任务选项")
    if not poco(text="联盟悬赏").exists():  # 判断是否已经接了任务
        common.printgreen("还未接取任务,开始接任务")
        sleep(30)
        for i in range(5):
            if poco("TalkTextBg").child("Bg").exists():  # 如果弹出了任务弹窗
                poco("VirtualTab").click()  # 点击下一步
                if poco("BtnOK").exists():  # 如果出现了接受按钮
                    common.printgreen("接受任务")
                    poco("BtnOK").click()  # 点击接受
                    break
    if poco(text="联盟悬赏").exists():  # 判断是否已经接了任务
        freeze_poco = poco.freeze()  # TODO:定义冻结poco
        common.printgreen("已经接了悬赏任务,开始检测任务模块控件")
        if freeze_poco("Bg2").exists() and freeze_poco("ChestX").exists() and freeze_poco("RightItem").exists() and \
                freeze_poco("Text").exists() and freeze_poco("TaskRewards").exists() and freeze_poco("RefreshBtn").exists() and \
                freeze_poco("CommitBtn").exists() and freeze_poco("BountyList").exists():
            common.printgreen("悬赏任务模块控件元素判断完毕,开始判断悬赏任务")
            for item in range(len(freeze_poco("BountyList").child())):
                item1 = "item" + str(item)
                if freeze_poco("BountyList").child(item1).exists():
                    pass
                else:
                    common.printred("悬赏任务缺失,请检查...")
                    common.get_screen_shot(start, time.time(), devices, "悬赏任务缺失")
            common.printgreen("悬赏任务判断完毕,开始判断刷新任务模块")
        if poco("FreeLabel").exists():
            if int(poco("FreeLabel").get_text()[-3]) > 0:  # 刷新次数
                common.printgreen("任务还有刷新次数,点击刷新")
                poco("RefreshBtn").click()
        elif poco(text="刷新").exists():  # 刷新次数
            common.printgreen("任务没有刷新次数了,我准备用龙币刷新,我钱多。。。")
            poco("RefreshBtn").click()
            common.printgreen("好了,我用龙币帮你刷新了。。。\n还有我没有点击前往,因为前往都是模块本身,这些模块都会有自己的脚本。。。")
        else:
            common.printred("刷新按钮缺失,请检查...")
            common.get_screen_shot(start, time.time(), devices, "刷新按钮缺失")
    return poco("CommitBtn").child("T").get_text()
Ejemplo n.º 15
0
def Intensify(devices):  # 主界面点击变强按钮
    """
    主界面点击变强按钮
    :return:
    """
    poco = common.deviceconnect(devices)
    if poco("SysIBq").exists():
        poco("SysIBq").click()  # 主界面变强按钮
    else:
        common.printred("主界面没有找到变强按钮")
    for item in range(len(poco("scroll").child())):
        item1 = "item" + str(item)
        pos = poco("FpStrengthenDlg(Clone)").offspring(item1)  # 获取当前控件
        if pos.exists():
            butpos(devices,
                   butpos=pos,
                   pos1=0.32,
                   pos2=0.81,
                   high=158,
                   low=544,
                   lows=290)  # 调用butpos方法
            common.printgreen("进入" + poco("FpStrengthenDlg(Clone)").offspring(
                item1).offspring("TextLabel").get_text() + "功能,开始检查子页签")
            pos.click()  # 点击变强子按钮

        else:
            common.printred("没有找到" + poco("FpStrengthenDlg(Clone)").offspring(
                item1).offspring("TextLabel").get_text() + "按钮,请检查..")
        freeze_poco = poco.freeze()  # TODO:定义dongjiepoco
        for item2 in range(len(freeze_poco("Panel").child())):  # 获取子页签的按钮
            item2 = "item" + str(item2)
            if freeze_poco("FpStrengthenDlg(Clone)").offspring(item2).child(
                    "Strengthen").child("TittleLab").exists():
                pos = freeze_poco("FpStrengthenDlg(Clone)").offspring(
                    item2).child("Strengthen").child("TittleLab")
                # butpos(butpos=pos,pos1=0.33,pos2=0.85,high=1330,low=930,lows=482)  # 调用butpos方法
            elif freeze_poco("FpStrengthenDlg(Clone)").offspring(item2).child(
                    "Other").child("Label").exists():
                pos = freeze_poco("FpStrengthenDlg(Clone)").offspring(
                    item2).child("Other").child("Label")
                # butpos(butpos=pos, pos1=0.33, pos2=0.85, high=1330, low=930, lows=482)  # 调用butpos方法
            if pos.exists():
                common.printgreen(
                    freeze_poco("FpStrengthenDlg(Clone)").offspring(
                        f"{item1}").offspring("TextLabel").get_text() +
                    "-->>" + pos.get_text() + "-->>显示成功")
            else:
                common.printred(
                    "无法获取" + poco("FpStrengthenDlg(Clone)").offspring(
                        f"{item1}").offspring("TextLabel").get_text() +
                    f"选项第{item}个子页签。赶紧检查..")
    return pos.get_text()  # 变强功能最后一个检查点--对应的活跃度宝箱打开随机获得水晶显示成功
Ejemplo n.º 16
0
def heraldry(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysAItem").get_position()[0] > 1:
        poco(texture="halln_4").click()
        sleep(1)
    poco("SysAItem").click()  # 点击角色按钮
    if poco("Title").exists():
        common.printgreen("进入角色界面")
        if poco("XSys_Char_Emblem").exists():
            poco("XSys_Char_Emblem").click()  # 点击纹章
            if poco("ItemNewDlg(Clone)").offspring("Items").child(
                    "Frame").offspring("T").exists():
                common.printgreen("进入金属板界面,开始进行纹章制作")
                # TODO:接下来进行纹章制作,纹章装备和卸下的操作已经完成
                addheraldry(start, poco, devices)  # 调用纹章制作

                common.printgreen("进入纹章界面,开始测试纹章")
                but = poco("ItemNewDlg(Clone)").offspring(name="Icon")
                if but.exists():
                    but.click()  # 点击已经装备的纹章
                    if poco("main").exists():
                        poco("Button1").click()  # 点击卸下
                if poco("ItemNewDlg(Clone)").offspring("Items").offspring(
                        "Icon").exists():
                    but = poco("ItemNewDlg(Clone)").offspring(
                        "Items").offspring(name="Icon")
                    if but.exists():
                        but.click()  # 点击第一个纹章
                    if poco("main").exists():  # 打开纹章装备界面
                        poco("Button1").click()  # 点击装备
                        common.get_screen_shot(start, time.time(), devices,
                                               "装备纹章截图验证")
                        but = poco("ItemNewDlg(Clone)").offspring(name="Icon")
                        if but.exists():
                            but.click()  # 点击已经装备的纹章
                            if poco("main").exists():
                                poco("Button1").click()  # 点击卸下
                    else:
                        common.printgreen("点击纹章后没有打开纹章装备界面")
                        common.get_screen_shot(start, time.time(), devices,
                                               "点击纹章后没有打开纹章装备界面")
                else:
                    common.printred("没有纹章,请添加文章后进行操作")
                    common.get_screen_shot(start, time.time(), devices, "没有纹章")
        else:
            common.printred("没有进入角纹章界面,请检查。。")
            common.get_screen_shot(start, time.time(), devices, "没有进入角色")
    else:
        common.printred("没有进入角色,请检查。。")
        common.get_screen_shot(start, time.time(), devices, "没有进入角色")
    return poco("ItemNewDlg(Clone)").offspring("EmblemListPanel").child(
        "Frame").offspring("T").get_text()  # 纹章
Ejemplo n.º 17
0
def bag_item(start, devices):
    poco = common.deviceconnect(devices)
    check_menu("SysAItem", poco) # 进入角色
    if poco("XSys_Bag_Item").exists(): # 进入龙器页签
        poco("XSys_Bag_Item").click()
        with poco.freeze() as freeze_poco:
            if freeze_poco(texture="l_zl").exists() and \
                    freeze_poco("PowerPoint").exists() and \
                    freeze_poco("ItemNewDlg(Clone)").offspring("item0").exists() and \
                    freeze_poco("ItemNewDlg(Clone)").offspring("item1").exists() and \
                    freeze_poco("ItemNewDlg(Clone)").offspring("item2").exists() and \
                    freeze_poco("ItemNewDlg(Clone)").offspring("item3").exists() and \
                    freeze_poco("DragObj").exists() and \
                    freeze_poco("add").exists() and \
                    freeze_poco("BagNum").exists():
                common.printgreen("战力,背包分类,背包扩展UI元素显示正常")
            else:
                common.printred("背包界面UI元素显示异常,详情见截图")
                common.get_screen_shot(start, time.time(), devices, "背包界面UI元素显示异常")
            try:
                with poco.freeze() as freeze_poco:
                    countbegin = int(poco("BagNum").get_text().split("/", 1)[1])
                    freeze_poco("ItemNewDlg(Clone)").offspring("item0").offspring("TextLabel").click()
                    freeze_poco("ItemNewDlg(Clone)").offspring("item1").click()
                    freeze_poco("ItemNewDlg(Clone)").offspring("item2").click()
                    freeze_poco("ItemNewDlg(Clone)").offspring("item3").click()
                    freeze_poco("add").click()
                    number = int(poco("GreyModalDlg(Clone)").offspring("Bg").child("Label").get_text()[4:7].split("个")[0]) # 获取需要几个背包扩充券
                    poco("OK").click()
                    if poco("ListPanel").exists():
                        poco("ListPanel").click()
                        for i in range(number+2):
                            poco("OK").click()
                        poco("Close").click()
                        freeze_poco("add").click()
                        poco("OK").click()
                    countend = int(poco("BagNum").get_text().split("/", 1)[1])
                    if (countend-countbegin) == 5:
                        common.printgreen("背包扩充成功")
                    else:
                        common.printred("背包扩充失败")
                common.printgreen("背包按钮点击正常")
            except Exception as e:
                common.printred("背包按钮点击异常")
                common.printred(e)
                common.get_screen_shot(start, time.time(), devices, "背包按钮点击异常")
    else:
        common.printred("背包功能暂未开放,请提升等级角色")
        common.get_screen_shot(start, time.time(), devices, "背包功能暂未开放")
    poco("Close").click()
    return poco("Duck").get_name()   # 返回值poco("Duck").get_name()
Ejemplo n.º 18
0
def stop_APP(devices, packagename):
    try:
        print("游戏未启动,开始启动游戏...")
        common.stop_app(packagename)
        common.sleep(1)
        common.start_app(packagename)
        common.sleep(3)
        start = time.time()
        while True:
            common.os.system(f"adb -s {devices} shell input tap {100} {100}")
            common.sleep(3)
            common.os.system(f"adb -s {devices} shell input tap {100} {100}")
            poco = common.deviceconnect(devices)
            try:
                if poco("Dialog").exists():
                    poco("OK").click()
                if poco("LabelStatus").exists():
                    common.printgreen("等待更新完成....")
                    poco("AnnouncementDlg(Clone)").child("Bg").child("Enter").wait_for_appearance()
                common.printgreen("请耐心等待...")
                poco("AnnouncementDlg(Clone)").child("Bg").child("Enter").wait_for_appearance(25)
                break
            except:
                if time.time() - start > 120:
                    print(f"游戏启动时间超过 {start}s,现在进行重新启动")
                    stop_APP(devices, packagename)
                    break
                print("正在启动游戏,请稍后...")
        poco(texture="l_button_00").wait_for_appearance()
        poco(texture="l_button_00").click()
        common.sleep(3)
        if poco(text="进入游戏").exists():
            poco(text="进入游戏").click()
            if poco(text="进入游戏").exists():
                poco(text="进入游戏").click()
            print("点击进入游戏,开始选择角色。。。")
            poco("EnterGame").wait_for_appearance(5)
            common.sleep(3)
            if poco("EnterGame").exists():
                poco("EnterGame").click()
                print("角色自动寻找成功,点击开始游戏。。。")
                common.sleep(15)
            else:
                print("进入游戏失败,请检查。。。。")
        else:
            print("进入游戏失败,请检查。。。。")
        interface(devices, packagename)
    except ConnectionAbortedError as e:
        print(f"{e} 主机断开连接,杀掉游戏进程,脚本重新启动")
        restart_app(devices)
Ejemplo n.º 19
0
def fetters(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysE_NPCFavor").exists():  # 羁绊按钮存在
        if poco("SysE_NPCFavor").get_position()[0] > 1:  # 界面有羁绊按钮
            poco(texture="halln_4").click()
            poco("SysE_NPCFavor").click()
        else:
            poco("SysE_NPCFavor").click()
    freeze_poco = poco.freeze()  # TODO:定义冻结poco
    if freeze_poco("BookBg").exists() and \
            freeze_poco("TabTpl0").exists() and \
            freeze_poco("TabTpl2").exists() and \
            freeze_poco("TabTpl1").exists():
        # 点击好感度
        for TabTp in freeze_poco("Tabs").offspring("Bg"):
            TabTp.click()
            freeze_poco = poco.freeze()  # TODO:定义冻结poco
            try:
                if freeze_poco("WrapContent").offspring("NpcName").exists():
                    for Npcname in freeze_poco("WrapContent").offspring("NpcName"):
                        common.printgreen(f"检查点 {Npcname.get_text()} 显示正确")
                if freeze_poco("WrapContent").offspring("GroupName").exists():
                    for Npcname in freeze_poco("WrapContent").offspring("GroupName"):
                        common.printgreen(f"检查点 {Npcname.get_text()} 显示正确")
            except PocoNoSuchNodeException:
                pass
        # TODO:以下代码为激活状态下的操作
        common.printgreen("点击好感度")
        poco("TabTpl0").click()  # 点击好感度
        if poco("NpcInfo").child("Activation").child("RedPoint").exists():
            if poco("NpcInfo").child("Activation").child("RedPoint").get_position()[0] < 1:  # 可激活按钮存在
                common.printgreen("点击激活")
                poco("NpcInfo").child("Activation").click()  # 点击激活
        if poco("GoBtn").exists():  # 前往赠送按钮存在
            if poco("GoBtn").get_position()[0] < 1:
                common.printgreen("点击前往赠送")
                poco("GoBtn").click()  # 点击前往赠送
                if poco("BtnSend").wait(30).exists():  # 等待出现对话框
                    poco().click([0.5, 0.5])  # 出现了对话框就点击屏幕中间
                    return "羁绊"
                else:
                    common.printred("没有出现对话框,请检查")
                    common.get_screen_shot(start, time.time(), devices, "没有出现对话框")
    else:
        common.printred("羁绊界面控件缺失,请检查")
        common.get_screen_shot(start, time.time(), devices, "羁绊界面控件缺失")

    return poco(texture="l_tip_00").child("T").get_text()  # 羁绊
Ejemplo n.º 20
0
def test_thug_4(start, devices):  # Prof6-转职为刺客分支、光明之怒分支、暗分支
    """
         Prof6-转职为刺客分支、光明之怒分支、暗分支
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(6,poco, devices)
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击15级转职
    poco("ProDetail2").click()  # Prof6-转职为刺客分支、光明之怒分支
    Prof1_zhiye(start, poco,devices)  # Prof6-转职为刺客分支、光明之怒分支
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail2").click()  # Prof6-转职为刺客分支、光明之怒分支、暗分支
    """点击暗职业"""
    Prof1_zhiye(start, poco,devices)  # Prof6-转职为刺客分支、光明之怒分支、暗分支
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 21
0
def test_warrior_3(start, devices): #  Prof1- 转职为战士分支、剑圣分支、复仇者、黑暗复仇者职业
    """
     转职为战士分支、剑圣分支、复仇者、黑暗复仇者职业
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(1, poco, devices)  # 重置当前角色职业
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击15级转职
    poco("ProDetail3").click()  # 点击选择剑圣职业
    Prof1_zhiye(start, poco,devices)  # 转职为战士分支剑圣职业
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail1").click()  # 点击黑暗复仇者职业
    """点击黑暗复仇者职业"""
    Prof1_zhiye(start, poco,devices)  # 转职为战士分支、剑圣分支、黑暗复仇者职业
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 22
0
def test_warrior_5(start, devices):  # Prof1- 转职为战士分支、战神分支、毁灭者者职业
    """
       Prof1- 转职为战士分支、战神分支、毁灭者者职业
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(1, poco, devices)
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击15级转职
    poco("ProDetail2").click()  # 点击选择战神职业
    Prof1_zhiye(start, poco,devices)  # 转职为战士分支战神职业
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail2").click()  # 点击毁灭者职业
    """点击毁灭者职业"""
    Prof1_zhiye(start, poco,devices)  # Prof1- 转职为战士分支、战皇分支、毁灭者者职业
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 23
0
def test_Archer_4(start, devices):  # Prof2-转职为弓箭手分支、游侠分支、风行者分支
    """
       Prof2-转职为弓箭手分支、游侠分支、风行者分支
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(2, poco, devices)
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击15级转职
    poco("ProDetail2").click()  # 点击选择猎人职业
    Prof1_zhiye(start, poco,devices)  # 转职为弓箭手分支、游侠分支
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail1").click()  # Prof2-转职为弓箭手分支、游侠分支、风行者分支
    """点击风行者分支职业"""
    Prof1_zhiye(start, poco,devices)  # Prof2-转职为弓箭手分支、游侠分支、风行者分支
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 24
0
def test_magic_4(start, devices):  # Prof3-转职为魔法师分支、魔导师分支、时空领主分支
    """
       Prof3-转职为魔法师分支、魔导师分支、时空领主分支
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(3, poco, devices)
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击15级转职
    poco("ProDetail2").click()  # 点击选择魔导师分支
    Prof1_zhiye(start, poco,devices)  # 转职为魔法师分支、魔导师分支
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail2").click()  #  Prof3-转职为魔法师分支、魔导师分支、时空领主分支
    """点击时空领主分支职业"""
    Prof1_zhiye(start, poco,devices)  #  Prof3-转职为魔法师分支、魔导师分支、时空领主分支
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 25
0
def test_pastor_5(start, devices):  # Prof4-转职为牧师分支、教主分支、黑暗教主分支
    """
        Prof4-转职为牧师分支、教主分支、黑暗教主分支
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(4,poco, devices)
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击15级转职
    poco("ProDetail3").click()  # 转职为牧师分支、教主分支
    Prof1_zhiye(start, poco,devices)  # 转职为牧师分支、教主分支
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail1").click()  # Prof4-转职为牧师分支、教主分支、黑暗教主分支
    """点击圣骑士分支职业"""
    Prof1_zhiye(start, poco,devices)  # Prof4-转职为牧师分支、教主分支、黑暗教主分支
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 26
0
def test_scholar_5(start, devices):  # Prof5-转职为学者分支、机甲师分支、银色机甲师分支
    """
        Prof5-转职为学者分支、机甲师分支、银色机甲师分支
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(5,poco, devices)
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击20级转职
    poco("ProDetail3").click()  # Prof5-转职为学者分支、机甲师分支
    Prof1_zhiye(start, poco,devices)  # Prof5-转职为学者分支、机甲师分支
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail1").click()  # Prof5-转职为学者分支、工程师分支、银色机甲师分支
    """点击重炮手职业"""
    Prof1_zhiye(start, poco,devices)  # Prof5-转职为学者分支、工程师分支、银色机甲师分支
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 27
0
def test_dance_5(start, devices):  # Prof7-转职为舞娘分支、舞灵分支、银色舞灵分支
    """
         Prof7-转职为舞娘分支、舞灵分支、银色舞灵分支
    :return:
    """
    poco = common.deviceconnect(devices)
    Skill_Switchroles(7, poco, devices)  # 选择角色职业
    poco("SkillTree(Clone)").offspring("Tabs").child("item1").click()  # 点击15级转职
    poco("ProDetail3").click()  # Prof7-转职为舞娘分支、舞灵分支
    Prof1_zhiye(start, poco,devices)  # Prof7-转职为舞娘分支、舞灵分支
    poco("SkillTree(Clone)").offspring("Tabs").child("item2").click()  # 点击二转职业
    poco("ProDetail1").click()  #Prof7-转职为舞娘分支、舞灵分支、银色舞灵分支
    """点击银色舞灵职业"""
    Prof1_zhiye(start, poco,devices)  # Prof7-转职为舞娘分支、舞灵分支、银色舞灵分支
    juexing(poco)  # 点击觉醒
    return Skill(start, poco,devices)  # 测试技能模块
Ejemplo n.º 28
0
def material(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysGPrepare").exists():
        poco("SysGPrepare").click()
        if poco("UIRoot(Clone)").offspring("DailyDungeonDlg").offspring(
                "SelectedTextLabel").exists():
            common.printgreen("进入物资筹备界面")
            freeze_poco = poco.freeze()  # TODO:定义dongjiepoco
            for Desc in freeze_poco("UIRoot(Clone)").offspring(
                    "DailyDungeonDlg").offspring("Desc"):
                common.printgreen(f"点击{Desc.get_text()}")
                Desc.click()
                if poco("UIRoot(Clone)").offspring(
                        "DailyDungeonDlg").offspring("WrapContent").exists():
                    poco(texture="l_close_00").click()
    else:
        common.printred("主界面没有物资筹备按钮,请检查。。。")
        common.get_screen_shot(start, time.time(), devices, "主界面没有物资筹备按钮")
    return poco("UIRoot(Clone)").offspring("DailyDungeonDlg").offspring(
        "TextLabel").get_text()  # 日常攻略
Ejemplo n.º 29
0
def buy(start, devices):
    """
    测试商城购买功能,前提条件,拥有龙币,水晶,水晶GM  item 14 999999
    :param start:
    :param devices:
    :return:
    """
    poco = common.deviceconnect(devices)
    if poco("SysAGameMall").exists():
        poco("SysAGameMall").click()
    else:
        common.printred("主界面找不到商城按钮,请检查")
    Mallbutlist = ["XSys_GameMall_Dragon", "XSys_GameMall_CRYSTAL"]
    for but in Mallbutlist:
        if poco(but).exists():
            common.printgreen("开始点击商城内 " + poco("GameMall(Clone)").offspring(
                but).offspring("SelectedTextLabel").get_text() + " 子页签")
            poco(but).click()
            # 操作装备按钮
            if poco("GameMall(Clone)").offspring("TabsFrame").child(
                    "item1").exists():
                poco("GameMall(Clone)").offspring("TabsFrame").child(
                    "item1").click()
                if int(poco("Count").child(
                        "Label").get_text()) >= 1:  # 判断是否有的卖
                    poco("OK").click()  # 点击购买
                    if poco(texture="l_button_00").exists():
                        common.printred("货币不足,请提供可购买的货币")
                        poco("Cancel").click()  # 点击取消弹窗,否则不好重置换成了
                        common.get_screen_shot(start, time.time(), devices,
                                               "货币不足")
                        return None
                else:
                    common.printred("没有物品可以购买")
                    common.get_screen_shot(start, time.time(), devices,
                                           "没有物品可以购买")
            else:
                common.printred("没有找到装备页签,请检查")
                common.get_screen_shot(start, time.time(), devices,
                                       "主界面没有社交按钮")
    return poco("GameMall(Clone)").child("Bg").child("T").get_text()  # 水晶商城
Ejemplo n.º 30
0
def reward(start, devices):
    poco = common.deviceconnect(devices)
    if poco("SysEReward").exists():
        poco("SysEReward").click()
        print("测试奖励模块")
        with poco.freeze() as freezepoco:
            count = freezepoco("RewardDlg(Clone)").child("Bg").child(
                "Tabs").offspring("SelectedTextLabel")
            print(f"奖励中一共有{len(count)}个模块,分别为:")
            number = 1
            for x in count:
                item = x.parent().parent().get_name()
                uiname = freezepoco("RewardDlg(Clone)").child("Bg").child(
                    "Tabs").child(item).offspring(
                        "SelectedTextLabel").get_text()
                print(f"{number}.{uiname}")
                number += 1
            for i in count:
                item = i.parent().parent().get_name()
                uiname = freezepoco("RewardDlg(Clone)").child("Bg").child(
                    "Tabs").child(item).offspring(
                        "SelectedTextLabel").get_text()
                if uiname == "成就奖励":
                    design_achieve(start, poco, item, devices)
                elif uiname == "等级奖励":
                    level_reward(start, poco, item, devices)
                elif uiname == "目标奖励":
                    reward_target(start, poco, item, devices)
                elif uiname == "战力奖励":
                    server_activity(start, poco, item, devices)
                elif uiname == "分享奖励":
                    share_reward(start, poco, item, devices)
                elif uiname == "龙穴助战":
                    reward_dragon(start, poco, item, devices)
            poco("Close").click()
    else:
        common.printred("主界面没有找到奖励模块")
        common.get_screen_shot(time.time(), devices, "主界面没有找到奖励模块,请详细查看")
    return poco("Duck").get_name()  # 返回主界面上的按钮