51Testing软件测试论坛

标题: 使用ddt之后,打印发现重复 [打印本页]

作者: 、小确幸~~    时间: 2019-5-23 14:00
标题: 使用ddt之后,打印发现重复
使用ddt之后,打印发现重复,如何解决该问题



在学课程
python Selenium深入实战电商平台
http://www.atstudy.com/course/1607


作者: 学掌门网校    时间: 2019-5-23 14:01
我修改了一下你的BaseTestCase这个类的代码部分,把setUpClass和tearDownClass方法改成了setUp和tearDown方法,这样每条测试用例都重新打开浏览器和关闭浏览器,避免三次执行之间的操作互相冲突。这样三次就都可以正常运行了。



import time
import unittest2
from selenium import webdriver


class BaseTestCase(unittest2.TestCase):

    def setUp(cls):
        cls.driver = webdriver.Chrome()
        cls.driver.maximize_window()
        cls.driver.implicitly_wait(5)
        # # 登录至 角色页面
        cls.driver.get(r"")
        cls.driver.find_element_by_id("User").send_keys("")
        cls.driver.find_element_by_id("Password").send_keys("")
        cls.driver.find_element_by_id("LoginButton").click()
        time.sleep(5)

    def tearDown(cls):
        time.sleep(3)
        cls.driver.quit()


如果你用的是@classmethod,第一次点击提交按钮失败时,页面保留在“添加role”页面,没有返回登录后的主页。第二次循环执行这个方法时,页面中就不存在下面这个元素了,程序找不到这个元素就会报错。

self.driver.find_element_by_css_selector("#AppWrapper > div.MainBox.ARIARoleMain.LayoutFixedSidebar.SidebarFirst > div.ResponsiveSidebarContainer > div > div:nth-child(2) > div.Content > ul > li:nth-child(1) > a > span > i")




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2