每次执行多个测试用例文件总是会执行多次打开浏览器、关闭浏览器的操作,使得UI自动化测试效率降低。但是如果把所有的用例放在一个类文件里,显得很冗余且不灵活。
所以,可以在setUp方法前定义一个全局dr = webdriver.Chrome(),在每次用例执行结束后执行刷新一次浏览器操作或者不刷新,视项目而定。
定义setUp和tearDown方法:
import unittest
from selenium import webdriver
class TestClass(unittest.TestCase):
#设置全局的driver
dr = webdriver.Chrome()
def setUp(self, driver=dr):
self.driver = driver
self.driver.maximize_window()
#每个测试用例文件执行完都会刷新一下,也可以写在每个用例的最后
'''def tearDown(self, driver=dr):
self.driver = driver
try:
self.driver.refresh()
except Exception as e:
print('END')'''
登录测试用例
from selenium.webdriver.common.by import By
from base import Page
import time
import time, unittest
from test_case.models import myunit, function
from test_case.