Appium 使用 testng 中的 suite.xml 跑多条用例报错

coconut · 2014年09月23日 · 最后由 云翼风希 回复于 2015年07月17日 · 1893 次阅读


报错内容

用例内容,两条用例一样

suite.xml:

<test name="Test" preserve-order="true">
        <classes>
            <class name="testcases.testcase01"/>    
            <class name="testcases.testcase02"/>        
        </classes>

    </test>

使用的是 java+testng,appium1.2.0
跑一条是成功的;
但是跑两条就报错了,报 Failed to start an Appium session, err was: Error: Requested a new session but one was in progress;
求指导!

共收到 12 条回复 时间 点赞

#1 楼 @cy_suncheng 是将 AfterTest 改成 AfterMethod 吗?我试过了,不行呀

#2 楼 @coconut 那就不明白了,end 有打印出来么?

#3 楼 @cy_suncheng 没有打印,因为它在@BeforeTest 就报 org.openqa.selenium.SessionNotCreatedException: A new session could not be created 了

#4 楼 @coconut 你不是说第一条可以运行成功么?第一条 case 运行完了,就应该运行 tearDown 啊

#5 楼 @cy_suncheng 我是说只跑一条的话就成功,但是两条以上就失败了,不是第一条

修改一下代码的结构;不要添加@beforeXX@AfterXX了,把原先@beforeXX@AfterXX中的内容都写到@Test中,每次执行时创建一个 Session,执行结束后清除,就不会有这个错误了

#7 楼 @sas 非常感谢你,我的也成功了,谢谢!

#8 楼 @coconut 使用其他的方法吗?

#9 楼 @sas 我是说按照你的方发,我的也成功了,我是想不出别的方法,才来这做伸手党~

#10 楼 @coconut@AfterClass吧,@AfterTest里的 driver.quit() 在所有测试类跑完才会执行,你可以打印一下看看

我也遇到这个问题了,使用 11 楼说的@AfterClass@AfterTest能解决解决 (appium 和 testNG 都能 passed),不过还是相当于一条跑完清 session 后再新建一个 session 跑。

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