PO模式 - TestCases测试用例,集成pytest

最后我们要把所有的元素定位、页面操作、测试数据,结合起来。这里我用的pytest单元测试框架,也可以用unittest来进行,但是unittest用来做web单元测试不太好用。

首先:
我们在TestData创建一个pytest.ini的配置文件(有无可无,看自己需要。),创建一个打标签的元素
在这里插入图片描述

其次我们在TestCases里创建一个conftest.py的一个文件,用在于编写前置条件和后置条件

import pytest
from selenium import webdriver
from PO.Common.config import url_config


@pytest.fixture(scope="function")
def search_baidu():
    driver = webdriver.Chrome()
    driver.get (url_config.get ('excel_re', 'url'))
    driver.maximize_window()
    yield driver #yield往上是前置条件,往下是后置条件。且yield也是个返回值跟return差不多
    driver.quit()

最后,我们在TestCases创建test_baidu.py。必须以test__test方式来命名,学过unittest和pytest的人都知道。要不然pytest找不到这个文件,导致无法运行
这个test_baidu.py是测试用例了,就是把我们之前的元素定位和页面操作、测试数据集合在一起。

import pytest


from PO.PageObjects.baidu_page import WebBaidu
from PO.PageObjects.baidu_search_result_page import WebBaiduSousu
from PO.TestDatas import baidu_datas as loc




class TestBaidu():
    @pytest.mark.usefixtures("search_baidu")
    @pytest.mark.index
    def test_baidu_0(self,search_baidu):
        WebBaidu(search_baidu).baidu_login(loc.baidu_data["baidu"])
        assert loc.baidu_data["check"] == WebBaiduSousu(search_baidu).baidu_sousu()


    @pytest.mark.usefixtures ("search_baidu")
    @pytest.mark.parametrize("data",loc.baidu_2_data)
    def test_baidu_1(self,search_baidu,data):
        WebBaidu(search_baidu).baidu_login(data["baidu"])
        assert data["check"] == WebBaiduSousu(search_baidu).baidu_sousu()

运行结果:
在这里插入图片描述
pytest疑问:
为什么我的pytest运行不了
1.查看当前项目的文件夹有没有__init__.py文件,要是没有,都去新建一个。因为pytest要求每个文件夹必须都是Pyton Package文件
2.把当前项目下的所有__pycache__文件删掉。这是个缓存文件。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,针对图书馆管理系统,我们可以编写以下测试用例: 1. 用户登录功能测试用例: - 输入正确的用户名和密码,登录成功 - 输入不存在的用户名和密码,提示错误信息 - 输入正确的用户名但错误的密码,提示错误信息 2. 图书查询功能测试用例: - 按书名查询,查询结果正确 - 按作者查询,查询结果正确 - 按出版社查询,查询结果正确 - 输入不存在的关键字查询,提示查询结果为空 3. 图书借阅功能测试用例: - 图书可借阅,借阅成功 - 图书不可借阅,借阅失败 - 借阅同一本书超过规定的借阅天数,产生逾期罚款 - 逾期罚款产生后,不能再借阅其他书籍 4. 图书归还功能测试用例: - 图书已借出,归还成功 - 图书未借出,归还失败 - 归还同一本书超过规定的归还天数,产生逾期罚款 - 逾期罚款产生后,不能再借阅其他书籍 5. 用户信息管理测试用例: - 用户信息正确修改成功 - 用户信息删除成功 - 用户信息添加成功 6. 图书信息管理测试用例: - 图书信息正确修改成功 - 图书信息删除成功 - 图书信息添加成功 7. 系统安全性测试用例: - 输入非法字符,系统能够正确响应并提示错误信息 - 输入SQL注入代码,系统能够正确拦截并提示错误信息 - 输入恶意脚本,系统能够正确拦截并提示错误信息 以上是一些基本的测试用例,具体测试用例的编写还需要根据实际情况进行补充。同时,我们需要注意对测试用例的覆盖率,尽可能覆盖到系统的所有功能和场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值