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

怎么给网站做404免费下载京东购物

怎么给网站做404,免费下载京东购物,广州企业网络推广运营技巧,wordpress 文章 分类 页面目录#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结#xff08;尾部小惊喜#xff09; 前言 接口自动化框架导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜 前言 接口自动化框架PythonRequestsPytestYAMLAllure 通过 PythonRequests 来发送和处理HTTP协议的请求接口使用 Pytest 作为测试执行器使用 YAML 来管理测试数据使用 Allure 来生成测试报告。 框架结构 api 接口封装层如封装HTTP接口为Python接口 common 各种工具类 core requests请求方法封装、关键字返回结果类 config 配置文件 data 测试数据文件管理 operation 关键字封装层如把多个Python接口封装为关键字 pytest.ini pytest配置文件 requirements.txt 相关依赖包文件 testcases 测试用例 请求方法封装 在 core/rest_client.py 文件中对 Requests 库下一些常见的请求方法进行了简单封装以便调用起来更加方便。 class RestClient():def __init__(self, api_root_url):self.api_root_url api_root_urlself.session requests.session()def get(self, url, **kwargs):return self.request(url, GET, **kwargs)def post(self, url, dataNone, jsonNone, **kwargs):return self.request(url, POST, data, json, **kwargs)def put(self, url, dataNone, **kwargs):return self.request(url, PUT, data, **kwargs)def delete(self, url, **kwargs):return self.request(url, DELETE, **kwargs)def patch(self, url, dataNone, **kwargs):return self.request(url, PATCH, data, **kwargs)def request(self, url, method, dataNone, jsonNone, **kwargs):url self.api_root_url urlheaders dict(**kwargs).get(headers)params dict(**kwargs).get(params)files dict(**kwargs).get(params)cookies dict(**kwargs).get(params)self.request_log(url, method, data, json, params, headers, files, cookies)if method GET:return self.session.get(url, **kwargs)if method POST:return requests.post(url, data, json, **kwargs)if method PUT:if json:# PUT 和 PATCH 中没有提供直接使用json参数的方法因此需要用data来传入data complexjson.dumps(json)return self.session.put(url, data, **kwargs)if method DELETE:return self.session.delete(url, **kwargs)if method PATCH:if json:data complexjson.dumps(json)return self.session.patch(url, data, **kwargs)HTTP接口 封装为 Python接口 在 api/user.py 文件中将上面封装好的HTTP接口再次封装为不同的Python接口。不同的Python接口会处理不同URL下的请求。 class User(RestClient):def __init__(self, api_root_url, **kwargs):super(User, self).__init__(api_root_url, **kwargs)def list_all_users(self, **kwargs):return self.get(/users, **kwargs)def list_one_user(self, username, **kwargs):return self.get(/users/{}.format(username), **kwargs)def register(self, **kwargs):return self.post(/register, **kwargs)def login(self, **kwargs):return self.post(/login, **kwargs)def update(self, user_id, **kwargs):return self.put(/update/user/{}.format(user_id), **kwargs)def delete(self, name, **kwargs):return self.post(/delete/user/{}.format(name), **kwargs)关键字返回结果类 在 core/result_base.py 下定义了一个空类 ResultBase 该类主要用于自定义关键字返回结果。 class ResultBase():pass 自定义示例 result ResultBase() result.success False result.msg res.json()[msg] result.response res在多流程的业务场景测试下通过自定义期望保存的返回数据值以便更好的进行断言。 关键字封装 关键字应该是具有一定业务意义的在封装关键字的时候可以通过调用多个Python接口来完成。 在某些情况下比如测试一个充值接口的时候在充值后可能需要调用查询接口得到最新账户余额来判断查询结果与预期结果是否一致那么可以这样来进行测试 1、首先可以把 充值-查询 的操作封装为一个关键字在这个关键字中依次调用充值和查询的接口并可以自定义关键字的返回结果。 2、接着在编写测试用例的时候直接调用关键字来进行测试这时就可以拿到关键字返回的结果那么断言的时候就可以直接对关键字返回结果进行断言。 测试用例层 1、根据用例名分配测试数据 测试数据位于 data 文件夹下在这里使用 YAML 来管理测试数据同时要求测试数据中第一层的名称需要与测试用例的方法名保持一致如 test_get_all_user_info 、test_delete_user。 test_get_all_user_info:# 期望结果,期望返回码,期望返回信息# except_result, except_code, except_msg- [True, 0, 查询成功] 省略 test_delete_user:# 删除的用户名,期望结果,期望返回码,期望返回信息# username, except_result, except_code, except_msg- [测试test, True, 0, 删除用户信息成功]- [wintest3, False, 3006, 该用户不允许删除]这里借助 fixture 方法我们就能够通过 request.function.name 自动获取到当前执行用例的函数名 testcase_name 当我们传入测试数据 api_data 之后接着便可以使用 api_data.get(testcase_name) 来获取到对应用例的测试数据。 import pytest from testcases.conftest import api_datapytest.fixture(scopefunction) def testcase_data(request):testcase_name request.function.__name__return api_data.get(testcase_name)2、数据准备和清理 在接口自动化中为了保证用例可稳定、重复地执行我们还需要有测试前置操作和后置操作即数据准备和数据清理工作。 pytest.fixture(scopefunction) def delete_register_user():注册用户前先删除数据用例执行之后再次删除以清理数据del_sql base_data[init_sql][delete_register_user]db.execute_db(del_sql)logger.info(注册用户操作清理用户--准备注册新用户)logger.info(执行前置SQL{}.format(del_sql))yield # 用于唤醒 teardown 操作db.execute_db(del_sql)logger.info(注册用户操作删除注册的用户)logger.info(执行后置SQL{}.format(del_sql))在这里以用户注册用例为例。对于前置操作我们应该准备一条删除SQL用于将数据库中已存在的相同用户删除对于后置操作我们应该再执行删除SQL确保该测试数据正常完成清理工作。 在测试用例中我们只需要在用例上传入 fixture 的函数参数名 delete_register_user 这样就可以调用 fixture 实现测试前置及后置操作。当然也可以使用pytest装饰器 pytest.mark.usefixtures() 来完成如 pytest.mark.usefixtures(delete_register_user) 3、Allure用例描述 在这里我们结合 Allure 来实现输出测试报告同时我们可以使用其装饰器来添加一些用例描述并显示到测试报告中以便报告内容更加清晰、直观、可读。 如使用 allure.title() 自定义报告中显示的用例标题使用 allure.description() 自定义用例的描述内容使用 allure.step() 可在报告中显示操作步骤使用 allure.issue() 可在报告中显示缺陷及其链接等。 allure.step(步骤1 注册用户) def step_1(username, password, telephone, sex, address):logger.info(步骤1 注册用户 {}, {}, {}, {}, {}.format(username, password, telephone, sex, address))allure.severity(allure.severity_level.NORMAL) allure.epic(针对单个接口的测试) allure.feature(用户注册模块) class TestUserRegister():用户注册allure.story(用例--注册用户信息)allure.description(该用例是针对获取用户注册接口的测试)allure.issue(https://www.cnblogs.com/wintest, name点击跳转到对应BUG的链接地址)allure.testcase(https://www.cnblogs.com/wintest, name点击跳转到对应用例的链接地址)allure.title(测试数据【 {username}{password}{telephone}{sex}{address}{except_result}{except_code}{except_msg}】)pytest.mark.singlepytest.mark.parametrize(username, password, telephone, sex, address, except_result, except_code, except_msg,api_data[test_register_user])pytest.mark.usefixtures(delete_register_user)def test_delete_user(self, login_fixture, username, except_result, except_code, except_msg):测试报告效果展示 在命令行执行命令pytest 运行用例后会得到一个测试报告的原始文件但这个时候还不能打开成HTML的报告还需要在项目根目录下执行命令启动 allure 服务 # 需要提前配置allure环境才可以直接使用命令行 allure serve ./report下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜 在追逐梦想的路上不要畏惧困难与挫折坚持不懈地奋斗只有拼搏才能超越自我创造属于自己的辉煌。相信自己的能力勇往直前每一次努力都是一次进步每一次奋斗都是一次成长。 不论前路多么艰难只要你心怀梦想勇往直前坚持不懈地奋斗就能超越自我创造属于自己的辉煌。相信自己的能力勇敢追求每一次努力都是一次进步每一次奋斗都是一次蜕变。 每个人都有属于自己的光芒只要努力奋斗勇敢面对困难坚持追求就能绽放璀璨实现梦想让生命在奋斗中闪耀出绚丽的色彩。
http://www.yutouwan.com/news/58028/

相关文章:

  • 汽车网站排名查询宠物网页设计模板
  • 昆山网站建设费用城市建设理论研究收录网站
  • 重庆官方网站查询系统企业注册成立网址
  • wordpress企业站源码杭州免费自助建站模板
  • 个人做淘宝客网站好做吗东莞网络优化
  • 广东省建设教育协会官方网站电子展厅
  • 影视网站建设平台郑州百度推广外包
  • 潍坊网站建设首荐创美网络怎么做品牌推广和宣传
  • 检察院门户网站建设网页布局设计说明
  • 自贡住房和城乡建设厅网站网站怎么做切换图片
  • 什么是展示型网站建设网站如何做超级链接
  • 接做施工图的网站seo推广优化平台
  • 网站建设要求卖货到海外的免费平台
  • asp网站配置典型的网站开发人员
  • 沈阳做公司网站的公司无锡企业网站设计公司
  • 工作做ppt课件的网站2000个免费货源网站
  • 网站建设淘宝模板宁波企业seo外包
  • 怎么筛选一家做网站做的好的公司重庆网站建设优斗士
  • 响应式网站开发哪家好设计精美的中文网站
  • 无锡公司建立网站做跨境的网站有哪些
  • 网站建设能解决哪些问题大连甘井子区地图
  • 西安网站排名优化做效果图网站有哪些
  • 微网站缺点网站重定向怎么做
  • 企业网站建设需要哪些步骤科技部网站
  • 视频网站开发教程我花钱买了一个函授本科
  • app网站建设需要什么软件最有性价比的网站建设
  • 网站建设技术架构和语言网站建设过程与思路
  • 推广app网站企业网站设计报名
  • 网站开发建设与维护邯郸网站建设安联网络公司
  • 著名网站设计师c 手机版网站开发