APPIUM+java第三篇:PO模式封装基类遇到的大坑

PO模式封装遇到的大坑

背景:PageFactory.initElements(new AppiumFieldDecorator(driver), this);这句这可以让你使用注释来抓取UI元素,在单个Page下定位使用是没有问题,但是在实例化多个Page页面时候,出现报错Can’t locate an element by this strategy: Locator map:

  • native content:

1、思路

1、PageFactory.initElements(new AppiumFieldDecorator(driver), this);是不是不支持多个page类同时使用注释抓取UI元素?
我的page
2、还是PageFactory.initElements(new AppiumFieldDecorator(driver), this);位置错了?试着不放在基类的构造函数下,放在每个PAGE的构造方法中(网上没有实例,纯属急了乱撞)
我的基类

2、柳暗花明

终于机缘巧合,重新从0开始编写脚本,一步一步debug,发现问题所在:其实通过PageFactory.initElements(new AppiumFieldDecorator(driver), this);已经实例元素(抓取)成功了,只是在点击click()元素时候,调用的是基类中封装自定义的click()方法,里边有两步,先调用元素原生的click()方法,然后调用元素的toString()方法。
解决:元素调用原生的click()方法后,后边不要再调用该元素的其他方法。不然会出现报错(诡异)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值