conftest.py 2.9 KB

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