作者:做梦的人(小姐姐)
出处:https://www.cnblogs.com/chongyou/

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(),"元素没有查找到,登录失败")

以上就是python 读取yaml文件的两种方法(在unittest中使用)的详细内容,更多关于python 读取yaml文件的资料请关注其它相关文章!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。