python之web自动化测试框架

news2024/11/16 18:03:48

梳理下搭建web自动化框架的流程:

创建目录:

cases:存放测试用例,unittest框架要求用例名必须以test开头,所以命名test_case.py

test_case.py代码如下:继承unittest.TestCase类下面的方法setupclass(),teardownclass()。然后把用例放进去。每个页面作为一个用例

‘’‘这里写业务的用例 用例要用到page unittest’‘’
from page.basePage import Page
import unittest

class UiTester(unittest.TestCase):#继承unittest.TestCase类下面的方法setup(),teardown()
# def setUp(self):#每条测试用例执行之前,先执行它
# pass
# def tearDown(self):#每条测试用例执行之后,执行它
# pass
@classmethod
def setUpClass(cls):#类里面的函数执行之前,最先执行它(所有用例执行之前,执行一次)
cls.page=Page()#实例化,打开浏览器
cls.page.open()#打开url网页

def test_a_login(self):#这是case,每个页面里的功能点,用例与数据源分离,方便维护
    self.page.send_username()
    self.page.send_passwd()
    self.page.login()
    self.assertTrue(self.page.check_login())
def test_b_creatbug(self):
    self.page.clickbug()  # 进入到bug页面
    self.page.mentionbug()  # 点击提bug按钮,进入到提bug页面
    self.page.selectmodule()  # 选择所属模块
    self.page.bugtype()  # 选择bug类型
    self.page.os()  # 选择操作系统
    self.page.browser()  # 选择浏览器
    self.page.version()  # 选择影响版本
    self.page.assignto()  # 选择分配人
    self.page.deadline()  # 选择截止日期
    self.page.bugtitle()  # bug标题
    self.page.context()  # bug步骤
    self.page.mailto()  # 超送人
    self.page.file()
    self.page.save()
    self.assertTrue(self.page.check_creatbug())
@classmethod
def tearDownClass(cls):#类里面的所有测试用例执行之后,最后执行它(所有用例执行之后,执行一次)
    cls.page.quit()
lib目录:

pyse.py文件主要存放操作元素的方法比如:click(),send_keys(),double_click(),drag_and_drop()等等

page目录:basepage.py,根据PO思想,将每个页面作为一个类,每个页面的功能点作为这个类的一个函数。将所有页面写出来

在用例文件test_case.py中调用上面的函数,每个页面作为一个用例,调用每个页面的函数

bin:start.py写运行用例的流程:

创建测试集合,找到测试用例,将每个测试用例加到测试集合中,运行用例,产生报告。

from lib.logger import logger
from lib.path import WEBCASEPATH,REPORTPATH
from lib.HTMLTestRunner import HTMLTestRunner
import unittest
from lib.tool import Tool
class Main(object):
def run(self):
Tool().clear_picture()
suite = unittest.TestSuite()
cases = unittest.defaultTestLoader.discover(WEBCASEPATH)
print(cases)
for case in cases:
print(case)
suite.addTest(case)
f = open(REPORTPATH,‘wb’)#打开一个报告文件
runner = HTMLTestRunner(f,verbosity=1,title=u’测试报告’, description=u’用例执行情况:')
runner.run(suite)
f.flush()
f.close()

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优思学院|精益生产现场管理的要素是什么?

精益生产的目的是通过消除3M来实现生产过程的优化和精简。3M指的是 "Muda"、"Muri"、"Mura",这三个词来自于日本,代表了生产过程中的浪费、超负荷和不平衡。 因此,要消除3M,优思学院认为企业精益生…

qt-c++进阶1-window、linux下获取本机所有网卡ip信息、根据网卡名获取ip地址。

系列文章目录 例如:第一章 主要是通过qt-c实现获取本机电脑的网卡信息或者是IP信息 文章目录系列文章目录前言一、获取本机网卡IP信息1.1 获取ip地址方法1.2 代码实例总结前言 总结c获取本机网卡信息的方法 第一章:适用于windows操作系统、linux操作系…

中级嵌入式系统设计师2015下半年下午应用技能试题

中级嵌入式系统设计师2015下半年下午试题 试题一 阅读以下关于某嵌入式系统设计的说明,回答下列问题。 [说明] 某公司承接了某嵌入式系统的研制任务。该嵌入式系统由数据处理模块、系统管理模块、FC网络交换模块和智能电源模块组成,系统组成如图1所示。数据处理模块处理系统…

Linux 练习三 (Makefile工程管理器)

文章目录Makefile工程管理器第一个makefile:编写两个.c源文件,并且让一个调用另外一个,使用makefile建立依赖,生成可执行文件,并执行。伪目标变量预定义变量和自动变量通配符和模式匹配内置函数循环指定makefile文件综…

js数组格式字符串处理

文章目录一. 前言二. 数组还原1. 方法一2. 方法二3. 方法三4. 方法四一. 前言 由于数据传输的问题我们常常在请求后拿到数组格式的字符串,一般情况分为以下四种: let str1 ["a","b","c","d"]; // 类型一 let…

【异常解决】The coordinator is not available

问题 最近上线跑了一个flink任务,运行不久,就会挂掉,初步查看日志报错如下 WARN org.apache.flink.connector.kafka.source.reader.KafkaSourceReader [] - Failed to commit consumer offsets for checkpoint 1 org.apache.kafka.clients…

IGBT窄脉冲现象

IGBT窄脉冲现象 tips:资料来自知乎 英飞凌《IGBT窄脉冲现象解读》 IGBT窄脉冲现象 1.什么是窄脉冲现象? 2.窄脉冲现象的原因 3.双脉冲测试IGBT窄脉冲开通 4.FWD窄脉冲开通 1.什么是窄脉冲现象? IGBT作为一种功率开关,从门级信号到器件开关过程…

用Python制作邮件检测器

github地址: https://github.com/CaLlMeErIC/MailDetective 因为需求需要写一个简单的邮件检测系统的框架,这里记录下思路 首先第一反应,这个检测系统不应该是各个邮件收件系统都有自带的吗,于是搜索了下是否有相关的邮件检测开源软件&#…

行测-判断推理-图形推理-样式规律-属性规律-对称性

中心对称:可以看作,图上的每一个点,都能关于中心点,在图上找到另一个对称的点五个图都是轴对称图形,只有答案C是轴对称图形选C都是中心对称图形选A1 3 5中心对称2 4 6轴对称中心对称选B对称轴顺时针45旋转选A对称轴的数…

极智项目 | 实战pytorch arcface人脸识别

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文介绍 实战pytorch arcface人脸识别,并提供完整项目源码。 本文介绍的实战arcface人脸识别项目,提供完整的可以一键训练、测试的项目工程…

微信公众号历史作品定向采集

最近有遇到微信公众号历史作品采集的需求,这里做一下记录, 登录自己注册好的的微信公众号后台进入创作界面,点击右上角的引用: 弹出如下界面: 选择查找公众号文章,输入要查找的公众号: 回车: 同时就可以打开F12开始抓包,选择公众号点击进入: appmsg?action=li…

golang 整合antlr语法校验

1. 背景 在项目中我们可能会遇到表达式检索的场景,例如,输入以下表达式检索,需要解析表达式并得到检索结果。 ip"192.168.1.3" && (port"80" || protocol"http")此时,我们需要对语法进行…

Linux启动过程

theme: channing-cyan 两种启动方式 传统启动方式(LEGACYMBR) 指传统BIOS启动方式,存在一些不足:比如最大只支持2TB磁盘,磁盘最多四个分区,且不支持图形操作 UEFIGPT方式 是新式的启动方式&#xff0c…

数学小课堂:三次方程(定理发明的过程)

文章目录 引言I 一元三次方程1.1 通解发明权之争1.2 费拉里-塔尔塔利亚公式1.3 Mathematica1.4 数学定理发明的过程引言 学习数学,最重要的是把实际问题变成数学问题,然后知道如何利用各种软件工具来解决。 方程是一个能把具体问题,等量转化成类型问题的好工具。 一元三次方…

Jetson AGX Orin安装Anaconda、Cuda、Cudnn、Pytorch最全教程

文章目录一:Anaconda安装二:Cuda、Cudnn安装三:Pytorch安装一:Anaconda安装 Jetson系列边缘开发板,其架构都是arm64,而不是传统PC的amd64,深度学习的环境配置方法大不相同。想要看amd64的相关环…

智能家居项目(六)之摄像头模块

目录 一、树莓派mipg-streamer实现监控功能调试 1、实现基本思路 2、安装摄像头模块 2.1、在安装sudo apt-get install libv4l-dev 的命令时报错 3、开启摄像头 以下内容是针对树莓派是stretch版本的修改办法: 一、树莓派mipg-streamer实现监控功能调试 1、…

有哪些前端面试题是必须要掌握的

对浏览器的缓存机制的理解 浏览器缓存的全过程: 浏览器第一次加载资源,服务器返回 200,浏览器从服务器下载资源文件,并缓存资源文件与 response header,以供下次加载时对比使用; 下一次加载资源时&#x…

Flow API搭建指南

搭建Flow API,首先需要安装知行之桥EDI系统,注意,Flow API为新增功能,仅在2022版本(8336)及以后支持,如果你发现正在使用的产品没有这个功能,可以在我们官网下载最新版本或者联系我们…

将企业文件共享解决方案与数据丢失防护配对

您的企业文件共享解决方案是否足够?企业文件共享解决方案已经是一种加密移动中敏感数据的好方法,但仅加密是不够的。 您能否确保不会意外传输敏感信息?您是否可以审核谁发送了什么?最后但并非最不重要的一点是,您是否…

【Autoware】2小时安装Autoware1.13(保姆级教程)

前言:ROS的出现使得机器人软件开发更加快速和模块化,在此基础上,Autoware.ai开源项目可以让我们很容易地将一套完整的自动驾驶软件部署到我们的测试车辆上,并见证它跑起来! 文章目录1.Autoware简介2.电脑软硬件配置要求…