测试积点老人 发表于 2020-6-23 13:34:40

用例登录成功后,在执行 tearDown 的时候(driver.quit)退出登录了?

用例登录成功后,在执行 tearDown 的时候(driver.quit)退出登录了?
          导致后面用例执行失败          遇见这样一个问题:          前一个用例是登录操作,登录成功后,由于在tearDown中有driver.quit()操作,导致该用例执行完毕后tearDown时就退出登录了;而后面的一个用例则是要在登录成功的状态下才能执行的:<p align="justify" style="margin: 0pt; text-align: justify; -ms-text-justify: inter-ideograph; mso-pagination: none;"><span style="font-family: Calibri; font-size: 10.5pt; font-weight: normal; mso-fareast-font-family: 宋体;" "yes";"="" 1.0000pt;="" roman";="" new="" times=""><font color="#000000">                  def tearDown(self):</font></span></p><p align="justify" style="margin: 0pt; text-align: justify; -ms-text-justify: inter-ideograph; mso-pagination: none;"><span style="font-family: Calibri; font-size: 10.5pt; font-weight: normal; mso-fareast-font-family: 宋体;" "yes";"="" 1.0000pt;="" roman";="" new="" times=""><font color="#000000">                     # <font face="宋体">停止所有的测试桩</font></font></span></p><p align="justify" style="margin: 0pt; text-align: justify; -ms-text-justify: inter-ideograph; mso-pagination: none;"><span style="font-family: Calibri; font-size: 10.5pt; font-weight: normal; mso-fareast-font-family: 宋体;" "yes";"="" 1.0000pt;="" roman";="" new="" times=""><font color="#000000">                     Stub().stop()</font></span></p><p align="justify" style="margin: 0pt; text-align: justify; -ms-text-justify: inter-ideograph; mso-pagination: none;"><span style="font-family: Calibri; font-size: 10.5pt; font-weight: normal; mso-fareast-font-family: 宋体;" "yes";"="" 1.0000pt;="" roman";="" new="" times=""><font color="#000000">                     Self.driver.quit()</font></span></p>请问这个问题该怎样去解决?注释掉tearDown函数中的self.driver.quit()是不行的,因为session未结束,后面的用例无法创建新的session。

bling123 发表于 2020-6-23 16:10:32

本帖最后由 bling123 于 2020-6-23 16:13 编辑

driver.quit()是退出这个drive进程,所以就会把当前浏览器窗口关闭掉,因此之后的方法就不会调用成功,因为他是要建立在浏览器窗口下进行模拟操作。
既然,这边这句代码又不能去掉,所以,你可以在每一个方法中,再执行操作前,都掉用一下driver.get(url),目前是这个思路。

ty1234567890 发表于 2020-6-24 08:53:39

每次执行用例前登录操作

海海豚 发表于 2020-6-24 09:28:04

用例内写一下登录

qqq911 发表于 2020-6-24 10:10:06

把退出动作加到里面

郭小贱 发表于 2020-6-24 10:29:07

1、把登录作为前置条件,在@beforeSuite里面执行;
2、在第二个case中加入登录操作。

bellas 发表于 2020-6-24 10:43:37

每次执行用例前登录操作

jingzizx 发表于 2020-6-24 13:34:16

位置不对吧
页: [1]
查看完整版本: 用例登录成功后,在执行 tearDown 的时候(driver.quit)退出登录了?