山西威力网站建设推荐wordpress订阅关闭

web/2025/10/2 12:28:34/文章来源:
山西威力网站建设推荐,wordpress订阅关闭,工厂办公室装修设计,seo网站代码优化首先配置好开发环境#xff0c;下载安装Python并下载安装pycharm#xff0c;在pycharm中创建项目功能目录。如果不会的可以百度Google一下#xff0c;该内容网上的讲解还是比较多比较全的#xff01; 大家可以先简单了解下该项目的目录结构介绍#xff0c;后面会针对每个文…首先配置好开发环境下载安装Python并下载安装pycharm在pycharm中创建项目功能目录。如果不会的可以百度Google一下该内容网上的讲解还是比较多比较全的 大家可以先简单了解下该项目的目录结构介绍后面会针对每个文件有详细注解和代码。 common ——configDb.py这个文件主要编写数据库连接池的相关内容本项目暂未考虑使用数据库来存储读取数据此文件可忽略或者不创建。本人是留着以后如果有相关操作时方便使用。 ——configEmail.py这个文件主要是配置发送邮件的主题、正文等将测试报告发送并抄送到相关人邮箱的逻辑。 ——configHttp.py这个文件主要来通过get、post、put、delete等方法来进行http请求并拿到请求响应。 ——HTMLTestRunner.py主要是生成测试报告相关 ——Log.py调用该类的方法用来打印生成日志 result: ——logs生成的日志文件 ——report.html生成的测试报告 testCase: ——test01case.py读取userCase.xlsx中的用例使用unittest来进行断言校验 testFile/case: ——userCase.xlsx对下面test_api.py接口服务里的接口设计了三条简单的测试用例如参数为null参数不正确等 caselist.txt配置将要执行testCase目录下的哪些用例文件前加#代表不进行执行。当项目过于庞大用例足够多的时候我们可以通过这个开关来确定本次执行哪些接口的哪些用例。 config.ini数据库、邮箱、接口等的配置项用于方便的调用读取。 getpathInfo.py获取项目绝对路径 geturlParams.py获取接口的URL、参数、method等 readConfig.py读取配置文件的方法并返回文件中内容 readExcel.py读取Excel的方法 runAll.py开始执行接口自动化项目工程部署完毕后直接运行该文件即可 test_api.py自己写的提供本地测试的接口服务 test_sql.py测试数据库连接池的文件本次项目未用到数据库可以忽略 二、PythonunittestrequestsHTMLTestRunner完整的接口自动化测试框架搭建_01——测试接口服务 首先我们想搭建一个接口自动化测试框架前提我们必须要有一个可支持测试的接口服务。有人可能会说现在我们的环境不管测试环境还是生产环境有现成的接口。但是一般工作环境中的接口不太满足我们框架的各种条件。举例如接口a可能是get接口b可能又是post等等等等。因此我决定自己写一个简单的接口用于我们这个框架的测试 按第一讲的目录创建好文件打开test_api.py写入如下代码 import flask import json from flask import request flask web框架通过flask提供的装饰器server.route()将普通函数转换为服# 创建一个服务把当前这个python文件当做一个服务 server flask.Flask(__name__) # server.route()可以将普通函数转变为服务 登录接口的路径、请求方式 server.route(/login, methods[get, post]) def login():# 获取通过url请求传参的数据username request.values.get(name)# 获取url请求传的密码明文pwd request.values.get(pwd)# 判断用户名、密码都不为空if username and pwd:if username xiaoming and pwd 111:resu {code: 200, message: 登录成功}return json.dumps(resu, ensure_asciiFalse) # 将字典转换字符串else:resu {code: -1, message: 账号密码错误}return json.dumps(resu, ensure_asciiFalse)else:resu {code: 10001, message: 参数不能为空}return json.dumps(resu, ensure_asciiFalse)if __name__ __main__:server.run(debugTrue, port8888, host127.0.0.1) 执行test_api.py在浏览器中输入http://127.0.0.1:8888/login?namexiaomingpwd11199回车验证我们的接口服务是否正常~   变更我们的参数查看不同的响应结果确认接口服务一切正常 三、PythonunittestrequestsHTMLTestRunner完整的接口自动化测试框架搭建_02——配置文件读取 在我们第二讲中我们已经通过flask这个web框架创建好了我们用于测试的接口服务因此我们可以把这个接口抽出来一些参数放到配置文件然后通过一个读取配置文件的方法方便后续的使用。同样还有邮件的相关配置~ 按第一讲的目录创建好config.ini文件打开该文件写入如下 # -*- coding: utf-8 -*- [HTTP] scheme http baseurl 127.0.0.1 port 8888 timeout 10.0[EMAIL] on_off on; subject 接口自动化测试报告 app Outlook addressee songxiaobaoqq.com cc zhaobenshanqq.com在HTTP中协议httpbaseURL端口超时时间。 在邮件中on_off是设置的一个开关on打开发送邮件其他不发送邮件。subject邮件主题addressee收件人cc抄送人。 在我们编写readConfig.py文件前我们先写一个获取项目某路径下某文件绝对路径的一个方法。按第一讲的目录结构创建好getpathInfo.py打开该文件 import osdef get_Path():path os.path.split(os.path.realpath(__file__))[0]return pathif __name__ __main__:# 执行该文件测试下是否OKprint(测试路径是否OK,路径为, get_Path())填写如上代码并执行后查看输出结果打印出了该项目的绝对路径 继续往下走同理按第一讲目录创建好readConfig.py文件打开该文件以后的章节不在累赘 import os import configparser import getpathInfo#引入我们自己的写的获取路径的类path getpathInfo.get_Path()#调用实例化还记得这个类返回的路径为C:\Users\songlihui\PycharmProjects\dkxinterfaceTest config_path os.path.join(path, config.ini)#这句话是在path路径下再加一级最后变成C:\Users\songlihui\PycharmProjects\dkxinterfaceTest\config.ini config configparser.ConfigParser()#调用外部的读取配置文件的方法 config.read(config_path, encodingutf-8)class ReadConfig():def get_http(self, name):value config.get(HTTP, name)return valuedef get_email(self, name):value config.get(EMAIL, name)return valuedef get_mysql(self, name):#写好留以后备用。但是因为我们没有对数据库的操作所以这个可以屏蔽掉value config.get(DATABASE, name)return valueif __name__ __main__:#测试一下我们读取配置文件的方法是否可用print(HTTP中的baseurl值为, ReadConfig().get_http(baseurl))print(EMAIL中的开关on_off值为, ReadConfig().get_email(on_off)) 执行下readConfig.py查看数据是否正确 一切OK 四、PythonunittestrequestsHTMLTestRunner完整的接口自动化测试框架搭建_03——读取Excel中的case 配置文件写好了接口我们也有了然后我们来根据我们的接口设计我们简单的几条用例。首先在前两讲中我们写了一个我们测试的接口服务针对这个接口服务存在三种情况的校验。正确的用户名和密码账号密码错误和账号密码为空 我们根据上面的三种情况将对这个接口的用例写在一个对应的单独文件中testFile\case\userCase.xlsx userCase.xlsx内容如下 紧接着我们有了用例设计的Excel了我们要对这个Excel进行数据的读取操作继续往下我们创建readExcel.py文件 import os import getpathInfo# 自己定义的内部类该类返回项目的绝对路径 #调用读Excel的第三方库xlrd from xlrd import open_workbook # 拿到该项目所在的绝对路径 path getpathInfo.get_Path()class readExcel():def get_xls(self, xls_name, sheet_name):# xls_name填写用例的Excel名称 sheet_name该Excel的sheet名称cls []# 获取用例文件路径xlsPath os.path.join(path, testFile, case, xls_name)file open_workbook(xlsPath)# 打开用例Excelsheet file.sheet_by_name(sheet_name)#获得打开Excel的sheet# 获取这个sheet内容行数nrows sheet.nrowsfor i in range(nrows):#根据行数做循环if sheet.row_values(i)[0] ! ucase_name:#如果这个Excel的这个sheet的第i行的第一列不等于case_name那么我们把这行的数据添加到cls[]cls.append(sheet.row_values(i))return cls if __name__ __main__:#我们执行该文件测试一下是否可以正确获取Excel中的值print(readExcel().get_xls(userCase.xlsx, login))print(readExcel().get_xls(userCase.xlsx, login)[0][1])print(readExcel().get_xls(userCase.xlsx, login)[1][2]) 结果为 完全正确~  五、PythonunittestrequestsHTMLTestRunner完整的接口自动化测试框架搭建_04——requests请求配置文件有了读取配置文件有了用例有了读取用例有了我们的接口服务有了我们是不是该写对某个接口进行http请求了这时候我们需要使用pip install requests来安装第三方库在common下configHttp.pyconfigHttp.py的内容如下 import requests import jsonclass RunMain():def send_post(self, url, data): # 定义一个方法传入需要的参数url和data# 参数必须按照url、data顺序传入result requests.post(urlurl, datadata).json() # 因为这里要封装post方法所以这里的url和data值不能写死res json.dumps(result, ensure_asciiFalse, sort_keysTrue, indent2)return resdef send_get(self, url, data):result requests.get(urlurl, paramsdata).json()res json.dumps(result, ensure_asciiFalse, sort_keysTrue, indent2)return resdef run_main(self, method, urlNone, dataNone): # 定义一个run_main函数通过传过来的method来进行不同的get或post请求result Noneif method post:result self.send_post(url, data)elif method get:result self.send_get(url, data)else:print(method值错误)return resultif __name__ __main__: # 通过写死参数来验证我们写的请求是否正确result1 RunMain().run_main(post, http://127.0.0.1:8888/login, {name: xiaoming,pwd:111})result2 RunMain().run_main(get, http://127.0.0.1:8888/login, namexiaomingpwd111)print(result1)print(result2) 执行该文件验证结果正确性 我们发现和浏览器中进行请求该接口得到的结果一致说明没有问题一切OK 六、PythonunittestrequestsHTMLTestRunner完整的接口自动化测试框架搭建_05——参数动态化 在上一讲中我们写了针对我们的接口服务设计的三种测试用例使用写死的参数result RunMain().run_main(post, http://127.0.0.1:8888/login, namexiaomingpwd)来进行requests请求。本讲中我们写一个类来用于分别获取这些参数来第一讲的目录创建geturlParams.pygeturlParams.py文件中的内容如下 import readConfig as readConfigreadconfig readConfig.ReadConfig()class geturlParams():# 定义一个方法将从配置文件中读取的进行拼接def get_Url(self):new_url readconfig.get_http(scheme) :// readconfig.get_http(baseurl) :8888 /login ?#logger.info(new_urlnew_url)return new_urlif __name__ __main__:# 验证拼接后的正确性print(geturlParams().get_Url())通过将配置文件中的进行拼接拼接后的结果http://127.0.0.1:8888/login?和我们请求的一致 【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】 一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜 生命不息奋斗不止。每一份努力都不会被辜负只要坚持不懈终究会有回报。珍惜时间追求梦想。不忘初心砥砺前行。你的未来由你掌握 生命短暂时间宝贵我们无法预知未来会发生什么但我们可以掌握当下。珍惜每一天努力奋斗让自己变得更加强大和优秀。坚定信念执着追求成功终将属于你 只有不断地挑战自己才能不断地超越自己。坚持追求梦想勇敢前行你就会发现奋斗的过程是如此美好而值得。相信自己你一定可以做到 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你

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

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

相关文章

做网站自己买服务器吗北京网站开发学习

来源: 学术头条作者:刘芳编辑:黄珊2021 年 4 月,马斯克公布了一段猴子用意念玩乒乓球游戏的视频,一时间为他旗下的脑机接口公司 Neuralink 赚足了眼球。然而最近,这些被用来做脑机接口实验的猴子的经历&…

大庆城市建设投资网站标准品购买网站

作者备注《进击吧!Blazor!》是本人与张善友老师合作的Blazor零基础入门系列视频,此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力。视频地址:https://space.bilibili.com/483888821/channel/detail?cid151273Bl…

固安县城乡和住房建设局网站重庆工程造价信息价查询

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介YOLOv5 简介YOLOv5 特点 车辆和行人目标检测系统 二、功能三、系统四. 总结 一项目简介 # 深度学习之基于 YOLOv5 车辆和行人目标检测系统介绍 深度学习在…

贵州建设网老网站cms网站有哪些

Golang并发编程 进程和线程及协程并行和并发golang 创建一个协程golang停止一个协程golang协程休眠Golang协程状态golang协程安全golang共享变量和临界区golang协程优先级golang协程安全数据类型golang如何解决协程安全问题golang通道golang通道缓冲golang通道同步golang通道方…

网站导航颜色台山网站建设

ContentCachingRequestWrapper 是 Spring Framework 中提供的一种包装类,它扩展了 HttpServletRequestWrapper 类,用于缓存请求体的内容。 通常在处理 HTTP 请求时,原生的 HttpServletRequest 对象中的输入流 (getInputStream()) 只能被读取一…

网站建设框架程序企业如何建设网站

为什么需要参数化? 我们在做接口测试的过程中,会遇到需要测试同一个接口使用不同的数据的情况,如果每次去一个个填写数据就太麻烦了,这时我们就需要用到接口参数化,我们把数据单独的存放在一个文件中管理,…

西班牙语网站设计公司哪家好漂亮公司网站源码打包下载

稀疏数组的处理方法是: 1)记录数组一共有几行几列,有多少个不同的值 2)思想:把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 例如下面原数组对应稀疏数组:

公司搭建网站服务东莞东智通人才招聘网

目录 前言 什么是类? 定义一个类 创建对象 访问和修改属性 方法 类的继承 多态 封装 特殊方法 属性装饰器 总结 前言 Python 是一种面向对象的编程语言,它允许程序员通过类和对象来组织和管理代码。面向对象编程(OOP&#xff09…

企业网站托管多少钱东莞代理记账

电脑端引入 jQuery UI 可以实现。而手机并没有 mousemove 等事件,所以这里采用手机事件:touchstart 和 touchmove 实现拖拽。 一、引入: 只要引入 jQuery.js 和 dragger.js(如下)即可 注:实现拖拽部分转…

药企做网站区块链开发语言

问题场景: 今天在springboot中集成spring事务的时候,遇到了一个大坑。如果(springbootdubbo)中添加 Service、Transactional 两个注解的时候,就不能进行dubbo服务注册了。 解决历程: 1,先是在…

建高级网站青岛装饰公司十强排名

1. 题目 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。 两个字符不能映射到同一个字符上,但字符可…

网站注册收入中国航发网上电子商城网址

目录 第一种情况:直接修改计算属性 不生效举例 解决方案1:直接修改依赖变量 解决方案2:为计算属性设置 set 方法 第二种情况:直接修改依赖数据 不生效举例 解决方案 第一种情况:直接修改计算属性 在Vue中&#x…

上海的加盟网站建设苏州百度运营公司排名

Linux中关于权限的管控级别有2个级别,分别是: 针对用户的权限控制 针对用户组的权限控制 比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。 1、用户组管理 1.1、创建用户组 groupadd 用户组名 1.2、删除用户组 groupdel 用户…

建网站的公司 快云深圳光明区最新消息

线程概述 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只…

珠海网站制作策划企业网站建设招标

wcf:rest介绍 管理多个资源之间的关系可能是RESTful API的重要组成部分。 在这篇文章中,我们将看到使用REST API可以管理多对多关系。 我们以一个简单的用户 / 组关系为例。 假设用户和组是两个单独的资源(例如/ users和/ groups )&#xff…

网站ftp怎么登陆快车app官方下载

AI大模型的一个痛点就是训练数据有截止日期,例如chatgpt的训练数据截止日期是2021年10月。这导致模型回答截止日期之后产生的新闻事件或者专业知识时不够准确。 将AI和搜索引擎结合起来,似乎是一种解决方式。 目前,国内外公布了不少AI搜索引…

无锡h5网站建设网站必须做301重定向吗

1. 日常生活中的应用 智能家居 场景描述:智能家居系统通过集成各种设备的API接口,实现远程控制和自动化。例如,通过API接口,用户可以通过手机应用控制家中的灯光、温度、安防系统等。案例:某智能家居品牌通过集成智能…

windows10php网站建设在线视频直播网站建设

guava集合操作类的使用我目前正在为LibFX添加一项新功能,为此我创建了一些类似于Java Collections Framework的自定义集合。 我一直在寻找可以与之对抗的测试,并很高兴发现Google的Guava包含了我所需要的:一个庞大的测试套件,可以…

自适应型网站建设服务电话wordpress创建公告

目录 1、使用SPY查看窗口的信息 2、使用SPY查看某些软件UI窗口用什么UI组件实现的 2.1、查看海康视频监控客户端安装包程序 2.2、查看华为协同办公软件WeLink 2.3、查看字节协同办公软件飞书 2.4、查看最新版本的Chrome浏览器 2.5、查看小鱼易连视频会议客户端软件 2.6…

个人网站推广 公司上海网页设计公司选择兴田德润

centos7虚拟机和docker的安装:可以参考之前的博文 CPU、mysql-exporter、docker监控模板:百度网盘 提取码:0000 先查看服务器时间是否和当前时间一致,如果不一致,查看对应设置:centos7时间同步博文 一、…