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

  

 

转载于:https://www.cnblogs.com/chongyou/p/11159856.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python,有多种方法可以读取测试用例。其,常用的方法包括使用xlrd、pandas和yaml等第三方库。引用[1]提到了这三种方法的使用方法和简单分析。 首先,xlrd是一个用于读取Excel文件的库。通过xlrd,可以打开Excel文件读取测试用例数据。这是接口测试比较主流的数据读取方式。引用[2]指出,虽然xlrd方法在读取Excel文件测试用例方面非常流行,但是当Excel文件的数据越来越多时,后期测试的维护成本会变得很高,并且在大篇幅数据,表格格式也不方便阅读。 其次,pandas是一个强大的数据处理库,也可以用于读取Excel文件测试用例数据。使用pandas可以更方便地处理和分析数据。然而,对于小规模的测试用例,使用pandas可能会显得过于复杂。 最后,yaml是一种轻量级的数据序列化格式,也可以用于存储和读取测试用例数据。使用yaml可以将测试用例以简洁的文本格式保存,并且易于阅读和维护。 下面是一个使用xlrd库读取Excel文件测试用例的示例代码,引用[3]提供了一个简单的实例: ```python import unittest import xlrd # 打开接口用例excel文件 excel_data = xlrd.open_workbook('register.xlsx') # 读取excel文件存放用例的sheet页,命名无要求 sheet = excel_data.sheet_by_name('register') print(sheet.nrows) print(sheet.row_values(1)) # 将读取到的用例全部追加到data列表 data = [] for i in range(1, sheet.nrows): data.append(sheet.row_values(i)) print(data) class register(unittest.TestCase): def test_register_check(self): pass ``` 以上代码演示了如何使用xlrd库打开Excel文件读取测试用例数据,并将其追加到一个列表。然后,可以根据需要在测试编写相应的测试方法。 总结起来,Python可以使用xlrd、pandas和yaml等库来读取测试用例数据,具体选择哪种方法取决于项目的需求和个人偏好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值