自动化笔记 断言封装{}

1、在utils工具文件下新建一个assert_manager.py  封装断言

utils>assert_manager.py

#封装断言
from driver.driver_manager import driver
from utils.log_manager import my_logger
from utils.sql_manager import sql_manager


class AssertManage:
    '''三种断言 1、断言文本是否存在  2、断言数据库的数据 3、断言图像是否在当前页面'''

    def assert_test(self,type='page',value='',
                    target_value='*',table='',column='',limit=''):
        '''断言文本,如果type是page,代表需要断言页面的文本信息'''
        if type == 'page':
            try:
                assert value in driver.page_source  #driver.page_source是检查当前页面,比较简单,可以写检查元素,URL等相关
            except Exception as e:
                my_logger.logger.error(f'页面上没有发现{value}')
                raise e
            '''2、数据库断言'''
        elif type == 'sql':
            my_logger.logger.info("开始断言数据库里的内容")
            result = sql_manager.get_data_from_table(target_value,table,column,limit)
            try:
                assert value in str(result)
            except Exception as e:
                my_logger.logger.error(f'数据库{table}中,没有发现{value} 信息')
                raise e

assert_manager = AssertManage()

result = sql_manager.get_data_from_table(target_value='*',table='oc_customer')
print(result)

3.测试用例中的使用

testcases>test_opencart_demo.py

import time

import pytest
from pages.main_page import MainPage
from utils.assert_manage import assert_manager
from utils.log_manager import my_logger


@my_logger.runtime_logger_class
class TestOpencartDemo():


    def test_01_reg(self):
        main_page = MainPage() #初始化一个页面的对象
        main_page.open_main_page()
        main_page.go_to_reg()
        assert_manager.assert_test(type='page',value='zhangsan')


    def test_02_login(self):
        main_page = MainPage()
        main_page.open_main_page()
        main_page.go_to_login()
        assert_manager.assert_test(type='sql',value='zhangsan',target_value='*',table='oc_customer',column='firstname',limit='zhangsan')

if __name__=='__main__':
    pytest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值