123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import allure
- import pytest
- from selenium import webdriver
- @pytest.fixture(scope="function")
- def driver():
- driver=webdriver.Chrome()
- driver.maximize_window()
- yield driver
- driver.quit()
- # 截图功能
- # hook装饰器
- # pytest_runtest_makereport 函数名不要改动
- # item 当前的测试用例 call用例的结果
- # yield暂停
- # outcome.get_result()获得结果
- # if report.when == "call" and (report.failed or report.passed): 检查测试用例阶段
- # 用例成功或者失败
- # driver = item.funcargs.get('driver')获得浏览器
- @pytest.hookimpl(hookwrapper=True)
- def pytest_runtest_makereport(item, call):
- outcome = yield
- report=outcome.get_result()
- if report.when == "call" and (report.failed or report.passed):
- driver = item.funcargs.get('driver')
- if driver:
- if report.failed:
- with allure.step("添加失败的截图 ---> "):
- allure.attach(driver.get_screenshot_as_png(), "失败的截图", allure.attachment_type.PNG)
- elif report.passed:
- with allure.step("添加成功的截图 ---> "):
- allure.attach(driver.get_screenshot_as_png(), "成功的截图", allure.attachment_type.PNG)
- # 不要把什么方法都丢到这里来
- # 有 1 没有 2
- # 用例有关 用例重跑 用例顺序 pytest的管理用例
- # 生成allure测试报告
- # base 文件 经常要做的操作 补充很多东西 没有固定的
- # page文件夹 用例 页面 很多人有不同的写法 页面可细 可粗 pom很灵活根据自己想要的内容去写
- # 用例 断言 可以在封装 不是只有assert 预期结果(外部传来的文件)==实际结果 方法
- # 数据 data文件夹 可以根据的操作去写
- # 总而言之 pom很灵活
- # 打开浏览器 测完这条用例 关闭浏览器
- # 搜索书籍 打开浏览器 测完这条用例 关闭浏览器
- # 评论 打开浏览器 评论 关闭浏览器
- # 打开浏览器 创建管理 关闭浏览器
- # 登陆--点击作家专区--申请作者--发布小说--章节管理--新建章节--关闭浏览器
- # 作家专区页面 zuozhePage
- # 申请作者页面
- # -发布小说
- # 章节管理-新建章节
- # 登陆 zuozhePage().方法 申请.方法() 小说.方法() 章节管理.方法() --关闭浏览器
- # 搜索页查询
- # 评论页 查询
- # 登陆 搜索页查询 评论页(访问评论页 open()搜索)
- # pom按照自己的思维去写 写出来 并且单独的用例执行 流程用例执行
- # 生成Allure测试报告 前提操作:
- # 1.jdk安装配置好 下载安装下 .exe的程序 一路下一步 在C盘找到你的安装 进行配置
- # 环境变量配置:
- # 找到path目录 新建到 C:\Program Files\Java\jdk1.8.0_211\bin
- # 确定有没有java 在cmd里面输入java -version
- # 2.下载commandline包 并且配置环境变量
- # 3.安装allure-pytest库 pip install allure-pytest -i https://mirrors.aliyun.com/pypi/simple/
- # 重启pycharm
|