Selnium + POM + Pytest:学习记录
简介
selenium POM Pytest 结合,通过Pytest fixture 来传递Driver 保证一个测试用例[1] :driver[1] 学习记录
插件包
selenium: 操作浏览器
pytest: drvier传递,收集/执行测试用例
pytest-xdist: 分布式执行测试用例
pytest-html: 收集测试结果-测试报告
webdriver_manager: 浏览器驱动管理,它会自动去下载合适的浏览器Driver
测试资源
被测应用: 博客后台
其实是一个只有DRF 个人博客实现的后台,用的就是Django Admin 原生后台
- 下载/克隆:
git clone -b drf-blog https://gitee.com/zy7y/blog.git - 本地启动:
1. python -m venv venv # 创建虚拟环境
2. venv\Scripts\activate # windows 启动虚拟环境
3. pip install -r requirements.txt # 安装依赖包
4. Django项目配置
1. python manage.py makemigrations blog
2. python manage.py migrate
3. python manage.py createsuperuser --email admin@example.com --username admin
4. python manage.py runserver
浏览器版本: Google Chrome 版本 92.0.4515.107
目录结构
目录结构生成: tree /f
├─Config # 配置文件
│ │ __init__.py
│ └─ config.py
│
├─Pages # 页面对象
│ │ __init__.py
│ │ BasePage.py
│ │ HomePage.py
│ └─ LoginPage.py
│
├─Reports # 测试报告
│ │ report.html
│ │
│ └─ assets
│ style.css
│
└─Tests # 测试文件
│ │ __init__.py
│ │ conftest.py
│ │ test_base.py
│ │ test_home.py
│ └─ test_login.py
│ .gitignore # git 忽略文件
│ main.py # 启动文件
│ pytest.ini # pytest配置文件
│ readme.md # 项目说明
└─ requirements.txt # 依赖库
使用
git clone https://gitee.com/zy7y/SelniumPOMpython -m venv venv- 激活venv:
venv\Scripts\activate - 运行: 执行pytest 或者 运行main.py 文件
Selnium + POM + Pytest:学习记录的更多相关文章
- 我的Spring学习记录(二)
本篇就简单的说一下Bean的装配和AOP 本篇的项目是在上一篇我的Spring学习记录(一) 中项目的基础上进行开发的 1. 使用setter方法和构造方法装配Bean 1.1 前期准备 使用sett ...
- 我的Spring学习记录(五)
在我的Spring学习记录(四)中使用了注解的方式对前面三篇做了总结.而这次,使用了用户登录及注册来对于本人前面四篇做一个应用案例,希望通过这个来对于我们的Spring的使用有一定的了解. 1. 程序 ...
- 《java从入门到精通》学习记录
目录 <Java从入门到精通>学习记录 3 基础的基础部分: 3 一. 常量与变量 3 1. 掌握: 3 (1) .常量与变量的声明方式: 3 (2) .变量的命名规则: 3 (3) .变 ...
- SpringCloud基础教程学习记录
这个学习记录是学习自翟永超前辈的SpringCloud的基础教程. 自己写这个教程的目的主要是在于,想要更凝练总结一些其中的一些实用点,顺便做个汇总,这样自己在复习查看的时候更加方便,也能顺着自己的思 ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
- Apache Shiro 学习记录4
今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
- UWP学习记录11-设计和UI
UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...
随机推荐
- NVIDIA Nsight Systems CUDA 跟踪
NVIDIA Nsight Systems CUDA 跟踪 CUDA跟踪 NVIDIA Nsight Systems能够捕获有关在概要过程中执行CUDA的信息. 可以在报告的时间轴上收集和呈现以下信息 ...
- Java重载方法如何竞争
突然想起以前遇到的一道笔试题,题目大概是这样子的 // 父类 public class Father { } // 子类 public class Son extends Father { } // ...
- dataguard日志损坏处理
===== 问题 ===== 日志损坏无法应用日志(开启MRP应用系统会因无法应用日志而关闭) Completed: ALTER DATABASE RECOVER MANAGED STANDBY DA ...
- javascript中的设计模式
什么是设计模式 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结. 使用设计模式的目的:为了代码可重用性.让代码更容易被他人理解.保证代码可靠性. ...
- Open C
Open C UF 公共类型UF_ABORT 进度中断UF_ASSEMUF_ATTRUF_BOUNDUF_BREPUF_CAMUF_CFIUF_CGMUF_CLEARUF_CLONE ...
- UF_DRAW 制图操作
Open C uc6476uc6477uc6478uc6479uc6480uc6481uc6482uc6483uc6484uc6485uc6486uc6488uc6489uc6492uc6494uc6 ...
- NetCore Dapper封装
一.前期环境准备 1.创建一个core webapi的项目,基于core3.1版本创建一个项目. 2.Dapper安装,使用NuGet来安装Dapper程序包 Install-Package Dapp ...
- OOP第三次总结Blog
1. 前言 相比于前一次Blog题目集,此次七八九题目集偏重于类的继承.多态性使用方法以及接口的应用;在设计层面,强调模式复用,不断的迭代,若前期设计不合理,则后续的题目增加新的功能(即可扩展性)将会 ...
- Dynamic Anchor Learning for Arbitrary-Oriented Object Detection(DAL)
面向任意目标检测的动态锚点学习 摘要:面向任意的目标广泛地出现在自然场景.航空照片.遥感图像等中,因此面向任意的目标检测得到了广泛的关注.目前许多旋转探测器使用大量不同方向的锚点来实现与地面真实框的空 ...
- 基于ABP落地领域驱动设计-01.全景图
什么是领域驱动设计? 领域驱动设计(简称:DDD)是一种针对复杂需求的软件开发方法.将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节.DDD适用于复杂领域和大规模应用,而不是 ...