Selenium Selenium 集成 unittest 之后如何一个类执行多个函数

BugaoxingXXX · 2019年08月26日 · 2019 次阅读

RT,现在是这么个问题,我 selenium 集成 unittest 结构如下:

class M(unittest.TestCase):
@classmethod
def setUpClass(cls):
  初始化webdriver
def test_1(self):
  登陆等操作
def test_2(self):
  登陆成功之后的操作
@classmethod
def tearDownClass(cls)
  关闭driver

现在的情况是test_1执行完成之后,driver就去调用teardown了,怎么可以在driver没有quit的时候执行test_2?

共收到 7 条回复 时间 点赞

增加一个 setup class 楼主要仔细学习一下 unittest 之类的测试框架了,这很基础,你要弄清测试集的意义

1、你这个写法,违反了 测试用例间相互独立 这个原则,test_2 对 test_1 存在严重依赖,相互不独立。应该要把用例分为两大类,一类是专门测登录前功能,另一类专门测登录后。第二类在 setup 里面完成登录操作。
2、不知道你是怎么执行 test_1 的,具体步骤发下?

陈恒捷 回复

现在这么看下来完全就是我的结构有问题了,照着大家的说法我应该是把 Test_1 移出来作为另外一个测试,然后把现有的 Test_1 作为 setup。
我现在的 test_1 就是个简单的 web 登陆到主页

刘旭 回复

😂 可我这不是有一个 setupclass

BugaoxingXXX 回复

哦哦,sorry,看花眼了 那你可以再加一个 setup 执行顺序变成 setup class setup test01 setup test02 teardownclass,不过用例之间最好依赖不要这么深,登录这种还是提出来的好

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