Appium appium 内,有没有方法让一个 driver (session) 在多个测试 Class 之间复用

战 神 · 2017年12月27日 · 最后由 陈恒捷 回复于 2017年12月29日 · 2082 次阅读

如题,这个问题困扰了我挺久的了,一直都是一个测试类中新起一个 AndroidDriver,有没有好的方式,让一个 driver,能执行完一个类的用例之后,接着执行下个类的用例时,还是这个 driver,不需要再次初始化。

共收到 8 条回复 时间 点赞

写一个基类用于初始化 driver,然后所有 testcase 继承啊。。。

采用单例模式,每次获取到是同一个 driver 。

edsion 回复

谢谢回复,但是这个方法是不正确的哦,因为继承后当你 class 初始化的时候 依然是会覆盖 session 的😁

陈恒捷 回复

您说的这个方式是对的,但是单例模式我用的少,目前就是在考虑这样的方式,在取成员变量的时候 还不知道怎么去设计,哈哈 我再继续研究一下 ,感谢!

https://testerhome.com/topics/9460
参考一下这个吧,感觉可以满足你

edsion 回复

看了一下这个,有点偏题,我这边的目的是要达到:1 、driver 从始终保持一个 session 来执类中用例,2、执行用例时是有序执行的。
目前情况单例已经完成了,session 已经不会再覆盖,问题出在了第二点,无法有序执行,通过 testNG 内的 preserve-order="true" 选项 似乎没用,用例的顺序按照@BeforeTest @BeforeClass 顺序来执行了,类用例依然存在混乱的情况。目前在找办法。

折腾了一阵 终于解决了,1、Driver 通过单例模式初始化设计放在基类中去初始化,然后测试类去继承,2、通过 TestNG suit 套件控制串行方式执行

战 神 回复

赞!

这个帖子可以点击右侧的 结束 按钮结贴了。

战 神 关闭了讨论 12月29日 09:42
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册