zoukankan      html  css  js  c++  java
  • python读取yaml文件,在unittest中使用

    python读取yaml文件使用,有两种方式:

    1.使用ddt读取

    2,使用方法读取ddt的内容,在使用方法中进行调用

    1.使用ddt读取

    @ddt.ddt
    class loginTestPage(unittest.TestCase):
        @ddt.file_data(path)
        @ddt.unpack
        def testlogin(self,**kwargs):
            u'''
           "输入邮件账号、用户名、密码符合要求
           勾选同意协议"	1、注册成功,跳转到注册成功页面	"
            1、验证URL,https://www.XX.com/site/register-success.html
            2、邮箱收到注册成功邮件
            3、数据库中user表中有成功添加注册账号数据"
    
            :return:
            '''
    
            self.loginPage = CBLogin(self.driver)
            log.info(kwargs)
            self.page = Page(self.driver,kwargs.get('login_url'))
    
            self.page.send_text(self.loginPage.login_sendkes_username(),kwargs.get('username'))
            self.page.send_text(self.loginPage.login_sendkes_password(),kwargs.get('password'))
            self.page.click(self.loginPage.login_click_btn())
            # 断言登录是否成功
            self.assertIsNotNone(self.loginPage.is_success(),"元素没有查找到,登录失败")
    

     2.使用已有的方法进行调用

    class HandleYmal:
        """
        获取测试环境的配置
        """
        def __init__(self,file_path=None):
            if file_path:
                self.file_path=file_path
            else:
                #获取path
                root_dir=os.path.dirname(os.path.abspath('.'))
                print(root_dir)
                self.file_path=root_dir+"/config/base.yaml"
        def get_data(self):
            fp=open(self.file_path,encoding="utf-8")
            data=yaml.load(fp)
            return  data
    
    
    
    @ddt.ddt
    class loginTestPage(unittest.TestCase):
    
        @classmethod
        def setUpClass(cls):
            """前置应该是读取所有内容"""
    
            yaml=HandleYmal()
            cls.kwargs=yaml.get_data()['testenvironment']
            cls.driver = webdriver.Chrome()
    
        def testlogin(self):
            u'''
           "输入邮件账号、用户名、密码符合要求
           勾选同意协议"	1、注册成功,跳转到注册成功页面	"
            1、验证URL,https://www.chinabrands.com/site/register-success.html
            2、邮箱收到注册成功邮件
            3、数据库中user表中有成功添加注册账号数据"
    
            :return:
            '''
    
            self.loginPage = CBLogin(self.driver)
            log.info(self.kwargs)
            self.page = Page(self.driver,self.kwargs.get('login_url'))
            self.page.send_text(self.loginPage.login_sendkes_username(),self.kwargs.get('username'))
            self.page.send_text(self.loginPage.login_sendkes_password(),self.kwargs.get('password'))
            self.page.click(self.loginPage.login_click_btn())
            # 断言登录是否成功
            self.assertIsNotNone(self.loginPage.is_success(),"元素没有查找到,登录失败")
    

      

  • 相关阅读:
    用SQL完成條件式查詢[收藏From 黃偉榮]
    asp.net代码中尖括号和百分号的含义
    Python读取文本,输出指定中文(字符串)
    nodejs Express 4.x req.body req.query req.params 三种获取参数的方法
    关于ImageMagick出现无效参数(invalid parameter)的解决方法
    JavaScript之数组循环 forEach 循环输出数组元素
    nodejs将PDF文件转换成txt文本,并利用python处理转换后的文本文件
    ImageMagick之PDF转换成图片(image)
    POJ 2635 The Embarrassed Cryptographer(整数刷新,千进制取模)
    js 获取目标网页源码
  • 原文地址:https://www.cnblogs.com/chongyou/p/11159856.html
Copyright © 2011-2022 走看看