poco自动测试使用

具体文档参考官方文档就行了,写的比较详细。

这里记录下,在unityEditor模式下一个对不齐的bug。可能和我多屏的环境有关系。

dev = UnityEditorWindow()
dev.monitor["top"]=0

手机上是没有问题的,看了poco的源码,坐标对齐都是依照全屏来计算的。

写了个测试例子,效果还不错。

addr=('',5001)
poco = UnityPoco(addr);

#跳过剧情
def skipStory():
    btn_skip=poco("btn_skip");
    btn_skip=poco.wait_for_any([btn_skip]);
    btn_skip.click();
    return
#跟随引导
def followGuild(times):
    for i in range(0,times):
        maskClick=poco("maskClick")
        maskClick=poco.wait_for_any([maskClick])
        maskClick.wait(1).click()
#战斗胜利的处理,这里有可能有升级的情况。无法统一处理
def fightWin():
    for i in range(0,3):
        sprite=poco("FightResultDungeon(Clone)").child("Panel").child("Sprite")
        sprite=poco.wait_for_any([sprite])
        sprite.click()
#战斗胜利并附带升级处理
def fightWinWithLevelUp():
    for i in range(0,3):
        if i==1:
            #插入升级逻辑
            levelup()
        sprite=poco("FightResultDungeon(Clone)").child("Panel").child("Sprite")
        sprite=poco.wait_for_any([sprite])
        sprite.click()
#关闭战斗前的boss介绍
def closeBossDesc():
    btn_bossClose = poco("btn_bossClose")
    btn_bossClose=poco.wait_for_any([btn_bossClose])
    time.sleep(3)
    btn_bossClose.click()
#选择战斗目标,总是只右侧目标
def selectTarget(target):
    Sprite_mpAndSkill = poco("skills_ui")
    try:
        Sprite_mpAndSkill.wait_for_appearance(30)
        Texture_07=poco("diban").child("right").child(target)
        Texture_07=poco.wait_for_any([Texture_07])
        Texture_07.click()
    except PocoTargetTimeout:
        print("no more target")
#选择左侧目标
def selectLeftTarget(target):
    Sprite_mpAndSkill = poco("skills_ui")
    try:
        Sprite_mpAndSkill.wait_for_appearance(30)
        Texture_07=poco("diban").child("left").child(target)
        Texture_07=poco.wait_for_any([Texture_07])
        Texture_07.click()
    except PocoTargetTimeout:
        print("no more target")
#角色升级
def levelup():
    btn_ok=poco("btn_ok")
    btn_ok.click()
    btn_ok.wait_for_disappearance(5)
#关闭获取物品的窗口
def getSomeThing():
    btn_ok=poco("GetSomething(Clone)").child("tween").child("btn_ok")
    btn_ok.wait_for_appearance()
    btn_ok.wait(2).click()
    btn_ok.wait_for_disappearance(3)
#进入战斗
def goInFight():
    btn_fight=poco("btn_fight")
    btn_fight.wait_for_appearance()
    btn_fight.click()
# now you can play with poco
#切换到账户密码登录
ui = poco('btn_switch')
ui.click()
#注册新账号
ui = poco('btn_reg')
ui.click()
#输入账户密码
username=poco("Label_user")
username.set_text("ptest_"+str((int)(time.time())));
password = poco("Label_pass");
password.set_text("111111");
password = poco("Label_pass1");
password.set_text("111111");
#确定注册
create = poco("btn_create")
create.click()
#跳过第一次过场
btn_skip=poco("btn_skip")
btn_skip=poco.wait_for_any([btn_skip]);
btn_skip.click()
#点击剧情.9次是战斗剧情,最后一次是创建角色的时候说的一句话
for i in range(0,10):
    mask=poco("mask")
    mask=poco.wait_for_any([mask]);
    mask.click();
#创建剑盾,选择剑盾
btn_weapon_1=poco("btn_weapon_1");
btn_weapon_1.wait(3).click();
#确认创建人物
btn_ok=poco("btn_ok")
btn_ok.click()
#跳过第一阶段剧情
btn_skip=poco("btn_skip");
btn_skip=poco.wait_for_any([btn_skip]);
poco.wait_stable();
time.sleep(3);
btn_skip.click();
#战斗中的点击,跟着引导手指走
for i in range(0,4):
    maskClick=poco("maskClick")
    maskClick=poco.wait_for_any([maskClick])
    maskClick.click()
#等待战斗胜利,弹出胜利面板
for i in range(0,3):
    sprite=poco("FightResultDungeon(Clone)").child("Panel").child("Sprite")
    sprite=poco.wait_for_any([sprite])
    sprite.click()
# 跳过剧情
skipStory();
#跟随引导,去首次抽奖
followGuild(3);
#抽奖出了矿工,点击确定按钮
btn_ok=poco("btn_ok");
btn_ok=poco.wait_for_any([btn_ok])
btn_ok.wait(0.5).click()
#跟随引导抽白夫人
followGuild(1);
#抽奖抽出了白夫人,点击确定
btn_ok=poco("btn_ok");
btn_ok=poco.wait_for_any([btn_ok])
btn_ok.wait(0.5).click()
#跟随引导
followGuild(3);
#跳过剧情
skipStory();
#选人上场,跟随引导
followGuild(3);
#战场中选人
Texture_01=poco("Texture_01")
Texture_01=poco.wait_for_any([Texture_01])
Texture_01.click()
Texture_07=poco("Texture_07")
Texture_07=poco.wait_for_any([Texture_01,Texture_07])
Texture_07.click()
#旷工大爆炸技能
followGuild(1)
Texture_03=poco("Texture_03")
Texture_03=poco.wait_for_any([Texture_03])
Texture_03.click()
# 战斗结束,处理战斗胜利,这里会升级
fightWinWithLevelUp()
#跳过剧情
skipStory()
#跟随引导去给白夫人合成两个符文
followGuild(9);
#德鲁伊提示属性标记
mask=poco("mask")
mask=poco.wait_for_any([mask]);
mask.click();
#跟随引导进入战斗
followGuild(1);
#关闭威廉的boss介绍
closeBossDesc();
#选择目标.攻击威廉
selectTarget("Texture_05")
selectTarget("Texture_05")
selectTarget("Texture_05")
selectTarget("Texture_05")
selectTarget("Texture_05")
#战斗胜利
fightWin()
#跟随引导,去进阶白
followGuild(7);
#进阶成功的确认
btn_ok=poco("btn_ok");
btn_ok=poco.wait_for_any([btn_ok])
btn_ok.click()
# 白夫人觉得自己充满了力量
mask=poco("mask")
mask=poco.wait_for_any([mask]);
mask.click();
#通过任务回去战场
followGuild(5);
#跳过剧情
skipStory()
#跟随引导进入战斗
followGuild(1);
selectTarget("Texture_02")
#跟随引导使用白夫人给矿工加血
followGuild(2);
#矿工选择技能,攻击对面蜜蜂
selectTarget("Texture_08");
#主角选择技能攻击对面蜜蜂
selectTarget("Texture_08");
#攻击白羽鹰
selectTarget("Texture_06")
selectTarget("Texture_06")
selectTarget("Texture_06")
#战斗胜利
fightWinWithLevelUp()
skipStory()
#跟随引导去领奖励
followGuild(3);
getSomeThing()
#跟随引导去给主角武器换成弓箭
followGuild(11)
#自己点击进入战斗按钮
btn_fight=poco("btn_fight")
btn_fight.wait_for_appearance()
btn_fight.click()
#跟随引导让自动战斗
followGuild(1)
# 战斗胜利
fightWin()
#战斗1016关卡
sprite_bottom=poco("1016").child("sprite_bottom")
sprite_bottom.wait_for_appearance()
sprite_bottom.wait(2).click()
goInFight()
closeBossDesc()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值