在使用Python+selenium搭建自动化测试框架时,发现有个问题,就是每个testcase执行都是在登录的前提下才能运行的,根据网上介绍的各种方法,发现用setUpClass或者用setUpModule均不能解决这个问题。因为我的testcase是不在一个文件下的,我可能写在不同的文件中。所以要实现这个在登录后运行各个testcase,就必须将登录操作设置为公共模块,这样每个testcase都可以去调用这个模块。
登录操作代码
from pageobjects.login_page import LoginPage
import time
class TestLogin():
#因为登录操作是每个测试用例都要先执行的操作,所以将登录操作写成一个公共模块,每个测试用例都可以调用,可实现在每个testcase中先执行登录操作
def login(self,driver):
#登录操作
time.sleep(3)
loginpage=LoginPage(driver)
loginpage.type_name("admin")
loginpage.type_pw("123456")
loginpage.type_code(1111)
loginpage.click_login_btn()
loginpage.get_windows_img()
time.sleep(5)
return driver
在testcase中调用登录模块
import unittest
from framework.browser_Engine import BrowserEngi