美文网首页python学习
python+selenium(5)测试框架

python+selenium(5)测试框架

作者: 考拉十口 | 来源:发表于2022-07-27 23:31 被阅读0次

    测试框架有unittest、pytest

    pytest

    使用pytest,方法名必须要以test开头

    一个方法是一个用例,方法中添加断言判断执行结果是否等于预期,断言用assert。如下判断当前页面的url是否等于百度首页的地址:

    assert driver.current_url =="https://www.baidu.com/"

    缺点:

    代码耦合性高,用例难以维护

    unittest

    python自带的单元测试框架,不用安装直接导入使用,可以进行用例管理,把功能相近的用例写到一个类中,并可以生成测试报告。

    import unittest

    按住ctrl并点击unittest可以查看怎么使用

    unittest中的类需要调用unittest下的TestCase,类中包含的测试用例/方法名称也要以test开头,并且用例的参数项需要包含self,如下,定义了一个名为TestCase的类,该类包含一个名为test_login的用例。

    class TestCase(unittest.TestCase):

        # 执行每个用例前先执行setUp

        def setUp(self):

            self.driver = webdriver.Chrome()

        # 每个用例执行完后,执行tearDown

        def tearDown(self):

            self.driver.quit()

        # 一个测试用例

        def test_login(self):

    【test fixture】

    执行一个测试用例进行的环境搭建和销毁是一个fixture,通过setup和teardown实现。

    【testcase】

    测试用例,一个完整的测试流程,包括测试前期准备,测试环境搭建-setup(选择浏览器),执行测试代码-runner,销毁记录-teardown(关闭浏览器),可以对某个具体问题进行验证。

    【test suit】

    测试集,多个用例集合在一起,可以将关联的用例组合成测试套件

    suit的使用

    # 将TestCase类中包含的测试用例添加到测试集suit中

    suit = unittest.TestSuite()

    suit.addTest(unittest.makeSuite(TestCase))

    【test runner】

    运行器,执行测试用例

    # unittest的运行方法

    if __name__ =='__main__':

        unittest.main()

    【test loader】

    加载器,将testcase加载到testsuit中

    【用例执行顺序】

    ASCII码0-9 A-Z a-z

    【常用的断言】

    assertEqual(a,b):a==b

    assertNotEqual(a,b):a!=b

    assertTrue(x):Bool(x) is True

    assertFalse(x):Bool(x) is False

    assertIs(a,b):a is b

    assertIsNot(a,b):a is not b

    assertIsNone(x):x is None

    assertIsNotNone(x):x is not None

    assertIn(a,b):a in b

    assertNotIn(a,b):a not in b

    assertIsInstance(a,b):IsInstance(a,b)

    assertNotIsInstance(a,b):NotIsInstance(a,b)

    断言的使用

    # 以assertEqual举例,下面的断言表示如果当前url等于"https://www.baidu.com/",就通过

    self.assertEqual(self.driver.current_url, "https://www.baidu.com/")

    【执行结果】

    点击红框按钮,可以查看执行测试用例的路径。

    测试路径根节点的Test Results显示在右侧运行结果的顶部,下图红框所示。

    测试路径每一层分别代表python文件,类名,方法名,如下图

    1:执行的python文件名称

    2:python文件中被执行的类名

    3:python文件中被执行的方法名

    p.s.

    运行程序的默认方式可以在file>settings>Tools>Python Integrated Tools中进行修改。如果选择pytest出现如下提示,说明没有安装pytest或pytest没有安装成功,在cmd窗口执行pip install pytest,执行完成后重启pycharm,此时再选择pytest就不会再有错误提示,点击【Apply】,再点击【ok】即可。

    也可以设置默认运行程序的方式为unittest

    相关文章

      网友评论

        本文标题:python+selenium(5)测试框架

        本文链接:https://www.haomeiwen.com/subject/wlanirtx.html