zoukankan      html  css  js  c++  java
  • unittest自定义封装与应用

    和大家分享一个自己二次封装uniitest的方法,大家可以在评论区多多指教,一起分享学习;

    一、unittest基类封装

    import os
    import unittest
    from common.log_print import Log
    from common.get_config import getconfig
    from common.base_page_info import BasePage
    from common.browser import Browser


    class SeleniumBaseCase(unittest.TestCase):

    """
    封装一个setUp类方法

    """
    @classmethod
    def setUpClass(cls) -> None:
    Log.logsinfo("=======测试类开始=======")
    cls.url=getconfig.geturl

    """
    封装一个初始化测试工作方法

    """
    def setUp(self) -> None:
    self.basepage=BasePage(Browser('chrome').getdriver())
    self.basepage.waittime(10)
    self.basepage.openurl(self.url)
    self.basepage.setmaxbrowser()

    """
    封装一个结束测试工作方法

    """

    def tearDown(self) -> None:
    self.basepage.timesleep(4)
    self.basepage.closebrowser()

    """
    封装一个tearDown类方法

    """
    @classmethod
    def tearDownClass(cls) -> None:
    Log.logsinfo("=======测试类结束=======")

    二、引用uniitest基类

    import unittest
    from action.login_action import LoginAction
    from common.selenium_base_case import SeleniumBaseCase
    from common.log_print import Log


    class Logintest(SeleniumBaseCase):

    def setUp(self) -> None:
    """
    继承父类的setUp方法

    """

    super().setUp()

    """
    也可以在setUp方法中自定义功能,前提要写继承父类的方法 super().setUp()

    """
    Log.logsinfo('登录测试用例开始')

    def test_success_login(self):
    '''登录成功测试用例'''
    login_action=LoginAction(self.basepage.driver)
    main_page=login_action.suceseelogin('admin','a12345678')
    actual_result=main_page.get_username()
    self.assertEqual(actual_result,'admin','登录成功用例执行失败')

    def tearDown(self) -> None:

    """
    继承父类的tearDown方法

    """
    super().tearDown()

    Log.logsinfo('登录测试用例结束')



    自定义封装,其实就是一个三层继承 ,这样我们引用的时候会更方便;

    Logintest----》SeleniumBaseCase----》unittest.TestCase
  • 相关阅读:
    笔记本搜不到无线网络连接[转]
    局域网IP冲突
    CFree 修改/添加编译配置环境(Build Configuration)
    字母索引网页
    NAOChoregraphe"单机使用许可证使用了多次"问题解决方案
    redis源码笔记-dict.c
    redis源码笔记-sds
    redis源码笔记-testhelp
    redis源码笔记-endian
    redis源码笔记-dict.h
  • 原文地址:https://www.cnblogs.com/HMeier/p/12846685.html
Copyright © 2011-2022 走看看