当前位置: 首页 > news >正文

pytest的前置与后置

import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
import time
#登录成功用例
class TestCase:def setup_method(self):   #此处为前置,setup和teardown用的少一般用fixture做前置后置self.driver = webdriver.Chrome()self.wait = WebDriverWait(self.driver, 10)self.driver.get("http://novel.hctestedu.com/user/login.html")def teardown_method(self):#后置time.sleep(3)self.driver.quit()def test_login_success(self):self.driver.find_element(By.ID, "txtUName").send_keys("13587545934")self.driver.find_element(By.ID, "txtPassword").send_keys("q20050821")# 判断是否改变地址login_url = self.driver.current_urlself.driver.find_element(By.ID, "btnLogin").click()time.sleep(2)sjmsg = self.wait.until(ec.url_changes(login_url))assert sjmsg== True , 'Login fail'#密码失败:def test_loginFail(self):self.driver.find_element(By.ID, "txtUName").send_keys("13587545934")self.driver.find_element(By.ID, "txtPassword").send_keys("20050821")# 判断是否改变地址login_url = self.driver.current_urlself.driver.find_element(By.ID, "btnLogin").click()time.sleep(2)sjmsg = self.wait.until(ec.url_changes(login_url))assert sjmsg == True , 'Login fail'
#账号失败:def test_loginname(self):self.driver.find_element(By.ID, "txtUName").send_keys("113587545934")self.driver.find_element(By.ID, "txtPassword").send_keys("q20050821")# 判断是否改变地址login_url = self.driver.current_urlself.driver.find_element(By.ID, "btnLogin").click()sjmsg = self.wait.until(ec.url_changes(login_url))assert sjmsg == True , 'Login fail'
if __name__ =="__main__":pytest.main(["-sv",'case_test.py'])#module就是模块级别的函数条件,等于一个py文件

参数化

import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
import time
#参数化@pytest.mark.parametrize
class TestCase:def setup_method(self):#setup和teardown用的少一般用fixture做前置后置self.driver = webdriver.Chrome()self.wait = WebDriverWait(self.driver, 10)self.driver.get("http://novel.hctestedu.com/user/login.html")def teardown_method(self):time.sleep(3)self.driver.quit()@pytest.mark.parametrize("data",[{'user':13587545934,'pwd':'q20050821'},{'user':'13587545933', 'pwd':'q20050821'}])def test_login_success(self,data):self.driver.find_element(By.ID, "txtUName").send_keys(data['user'])self.driver.find_element(By.ID, "txtPassword").send_keys(data['pwd'])# 判断是否改变地址login_url = self.driver.current_urlself.driver.find_element(By.ID, "btnLogin").click()time.sleep(2)sjmsg = self.wait.until(ec.url_changes(login_url))assert sjmsg== True , 'Login fail'#密码失败:if __name__ =="__main__":pytest.main(["-sv",'mark_test.py'])

会话级别与作用

import pytest
from selenium import webdriverimport time# @pytest.fixture(scope='function')#function级别会一个一个打开网页 class同理
# def browser():
#     driver=webdriver.Chrome()
#     yield driver
#     driver.quit()
@pytest.fixture(scope='session')#session级别会在一个浏览器上打开所有网页 module同理
def browser():driver=webdriver.Chrome()yield driverdriver.quit()
import pytestdef test_taobao(browser):browser.get('https://www.taobao.com/')assert 1==1
def test_baidu(browser):browser.get('https://www.baidu.com/')assert  1==2if __name__ == '__main__':pytest.main(['-vs','wy_test.py'])

http://www.lryc.cn/news/624553.html

相关文章:

  • 【笔记ing】考试脑科学 脑科学中的高效记忆法
  • c++26新功能—可观测检查点
  • 晨控CK-GW08S与欧姆龙PLC配置Ethernet/IP通讯连接手册
  • PHP现代化全栈开发:微前端架构与模块化实践
  • 深入解析RabbitMQ与AMQP-CPP:从原理到实战应用
  • Elasticsearch全文检索中文分词:IK分词器详解与Docker环境集成
  • 【VUE】Vue3 绘制 3D 蓝图利器 Grid Plan
  • 蛇形方阵构造
  • k8sday10服务发现(1/2)
  • 深度学习在订单簿分析与短期价格预测中的应用探索
  • elasticsearch-集成prometheus监控(k8s)
  • 电子电气架构 --- 软件会给汽车带来哪些变化?
  • Git+Jenkins 基本使用
  • cesium中实时获取鼠标精确坐标和高度
  • 开放最短路径优先协议
  • 在 CentOS 7 上使用 LAMP 架构部署 WordPress
  • 【秋招笔试】2025.08.16科大讯飞秋招机考真题
  • Unity爆炸力场实战指南
  • Avalonia实例实战七:动画
  • 文件读取的底层实现——generic_read_iter分析
  • 一个基于前端开发的经典飞机大战游戏,具有现代化的UI设计和流畅的游戏体验。
  • 【数据分析】R语言在生态学数据分析中的应用:从数据处理到可视化
  • 双指针从简单到复杂
  • 下划线字段在golang结构体中的应用
  • Drawnix:一款免费开源的白板工具,支持思维导图、流程图、类图和手绘图
  • 深入浅出讲透IPD:三层逻辑实例详解 —— 卫朋
  • 设计模式笔记_行为型_访问者模式
  • 【arXiv2025】计算机视觉|FGA:即插即用!让你的模型精准预测人群密度!
  • 微信小程序通过uni.chooseLocation打开地图选择位置,相关设置及可能出现的问题
  • 【深度学习】pytorch深度学习框架的环境配置