Appium [问答] 使用 testng 将 befor 和 after 封装,测试类继承封装,无法运行

小白 · 2017年06月09日 · 最后由 小白 回复于 2017年06月09日 · 2574 次阅读

1.这是封装类

2.这是测试类

3.这是 xml

4.这是报错

共收到 11 条回复 时间 点赞

基类应该没有这么写的吧,把基类的的标注都删除掉,将获取 driver 方法,放到 case 层的 beforeclass 里面,而且你 case 层的 driver 还要了干嘛,你基类里面不是有了么

TestNG 就是个完整的测试框架,怎么能单独摘出来其中的部分封装呢?你可以把你的配置东西封装了在 before 里使用

我觉得应该是把子类的 static AndroidDriver driver=null;这一行去掉就可以了,其他不用改

还有基类的那个 driver 应该改为 protected

北溟 回复

子类中添加是因为开始报错,所以添加的,跟这一行没关系

lcw 回复

因为 junit4 是可以封装使用的,按理来说 testng 不是应该也可以么

Unmurphy 回复

case 层只是因为开始报错添加的,去掉了还是一样的报错

小白 回复

报错是因为你基类里面的 driver 修饰词没有,case 层看不到,加上 protected

Unmurphy 回复

并不是这个原因,我觉得应该是带继承关系的不会执行 beforeclass,我把 setup() 方法调用在 case 层就能掉起 app,不过还是会报错,还在调试

小白 回复

除非你 case 层重写了这个 setup,否则基类的肯定会执行的

北溟 回复

case 并没有重写 setup,继承无法执行 beforeclass,所以在 case 层重新调用 setup 可以启动,可以还是没有调试成功

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册