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
  • 相关阅读:
    vant ui 在vue中的安装和使用
    vue-element-admin完整项目实例
    关于Vue中main.js,App.vue,index.html之间关系进行总结
    vue 集成 element ui
    springboot写入数据库汉字变问号???
    import declarations are not supported
    基于Idea从零搭建一个最简单的vue项目
    idea中执行“npm”命令,提示node 不是内部或外部命令,也不是可运行的程序
    Intellij IDEA 中如何 给Maven添加依赖
    圆圈中最后剩下的数字
  • 原文地址:https://www.cnblogs.com/HMeier/p/12846685.html
Copyright © 2011-2022 走看看