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

网站建设对公司的发展河南建设工程招标网站

网站建设对公司的发展,河南建设工程招标网站,wordpress 编辑器 空格,ps网页设计案例前言#xff1a; 接口自动化是指模拟程序接口层面的自动化#xff0c;由于接口不易变更#xff0c;维护成本更小#xff0c;所以深受各大公司的喜爱。 接口自动化包含2个部分#xff0c;功能性的接口自动化测试和并发接口自动化测试。 本次文章着重介绍第一种#xff0c…前言 接口自动化是指模拟程序接口层面的自动化由于接口不易变更维护成本更小所以深受各大公司的喜爱。 接口自动化包含2个部分功能性的接口自动化测试和并发接口自动化测试。 本次文章着重介绍第一种功能性的接口自动化框架。 一、简单介绍 环境Mac、Python 3PytestAllureRequest 流程读取Yaml测试数据-生成测试用例-执行测试用例-生成Allure报告 模块类的设计说明: Request.py 封装request方法可以支持多协议扩展get\post\put Config.py 读取配置文件包括不同环境的配置email相关配置 Log.py 封装记录log方法分为debug、info、warning、error、critical Email.py 封装smtplib方法运行结果发送邮件通知 Assert.py 封装assert方法 run.py 核心代码。定义并执行用例集生成报告 Yaml测试数据格式如下 --- Basic:dec: 基础设置parameters:-url: /settings/basic.jsondata: slugda1677475c27header: {User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko)\Chrome/67.0.3396.99 Safari/537.36,Content-Type: keep-alive} 二、代码结构与框架流程 1、代码结构见下图 2、框架流程见下图 三、详细功能和使用说明 1、定义配置文件config.ini 该文件中区分测试环境[private_debug]和正式环境[online_release]分别定义相关配置项[mail]部分为邮件相关配置项 # http接口测试框架配置信息[private_debug] # debug测试服务 tester your name environment debug versionCode your version host www.jianshu.com loginHost /Login loginInfo emailwanguser.compassword123456[online_release] # release正式服务 tester your name environment release versionCode v1.0 host www.jianshu.com loginHost /Login loginInfo emailwanguser.compassword123456[mail] #发送邮件信息 smtpserver smtp.163.com sender test1163.com receiver wanguser.com username wanguser.com password 123456 2、读取yaml测试数据后封装 yaml测试数据例子见第一节一条接口可定义多条case数据get_parameter为已封装好的读取yaml数据方法循环读取后将多条case数据存在list中。 class Basic:params get_parameter(Basic)url []data []header []for i in range(0, len(params)):url.append(params[i][url])data.append(params[i][data])header.append(params[i][header]) 3、编写用例 class TestBasic:pytest.allure.feature(Home)allure.severity(blocker)allure.story(Basic)def test_basic_01(self, action):用例描述未登陆状态下查看基础设置conf Config()data Basic()test Assert.Assertions()request Request.Request(action)host conf.host_debugreq_url http:// hosturls data.urlparams data.dataheaders data.headerapi_url req_url urls[0]response request.get_request(api_url, params[0], headers[0])assert test.assert_code(response[code], 401)assert test.assert_body(response[body], error, u继续操作前请注册或者登录.)assert test.assert_time(response[time_consuming], 400)Consts.RESULT_LIST.append(True) 4、运行整个框架run.py if __name__ __main__:# 定义测试集allure_list --allure_featuresHome,Personalargs [-s, -q, --alluredir, xml_report_path, allure_list]log.info(执行用例集为%s % allure_list)self_args sys.argv[1:]pytest.main(args)cmd allure generate %s -o %s % (xml_report_path, html_report_path)try:shell.invoke(cmd)except:log.error(执行用例失败请检查环境配置)raisetry:mail Email.SendMail()mail.sendMail()except:log.error(发送邮件失败请检查邮件配置)raise 5、err.log实例 [ERROR 2018-08-24 09:55:37]Response body ! expected_msg, expected_msg is {error:继续操作前请注册或者登录9.}, body is {error:继续操作前请注册或者登录.} [ERROR 2018-08-24 10:00:11]Response time expected_time, expected_time is 400, time is 482.745 [ERROR 2018-08-25 21:49:41]statusCode error, expected_code is 208, statusCode is 200 6、Assert部分代码 def assert_body(self, body, body_msg, expected_msg):验证response body中任意属性的值:param body::param body_msg::param expected_msg::return:try:msg body[body_msg]assert msg expected_msgreturn Trueexcept:self.log.error(Response body msg ! expected_msg, expected_msg is %s, body_msg is %s % (expected_msg, body_msg))Consts.RESULT_LIST.append(fail)raisedef assert_in_text(self, body, expected_msg):验证response body中是否包含预期字符串:param body::param expected_msg::return:try:text json.dumps(body, ensure_asciiFalse)# print(text)assert expected_msg in textreturn Trueexcept:self.log.error(Response body Does not contain expected_msg, expected_msg is %s % expected_msg)Consts.RESULT_LIST.append(fail)raise 7、Request部分代码 def post_request(self, url, data, header):Post请求:param url::param data::param header::return:if not url.startswith(http://):url %s%s % (http://, url)print(url)try:if data is None:response self.get_session.post(urlurl, headersheader)else:response self.get_session.post(urlurl, paramsdata, headersheader)except requests.RequestException as e:print(%s%s % (RequestException url: , url))print(e)return ()except Exception as e:print(%s%s % (Exception url: , url))print(e)return ()# time_consuming为响应时间单位为毫秒time_consuming response.elapsed.microseconds/1000# time_total为响应时间单位为秒time_total response.elapsed.total_seconds()Common.Consts.STRESS_LIST.append(time_consuming)response_dicts dict()response_dicts[code] response.status_codetry:response_dicts[body] response.json()except Exception as e:print(e)response_dicts[body] response_dicts[text] response.textresponse_dicts[time_consuming] time_consumingresponse_dicts[time_total] time_totalreturn response_dicts 四、Allure报告及Email 1、Allure报告总览见下图 2、Email见下图 五、后续优化 1、集成Jenkins使用Jenkins插件生成Allure报告 2、多线程并发接口自动化测试 3、接口加密参数加密 【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】 一、Python编程入门到精通 ​二、接口自动化项目实战  三、Web自动化项目实战 四、App自动化项目实战  五、一线大厂简历 六、测试开发DevOps体系  七、常用自动化测试工具 ​八、JMeter性能测试  ​ 九、总结尾部小惊喜 生命不息奋斗不止。每一份努力都不会被辜负只要坚持不懈终究会有回报。珍惜时间追求梦想。不忘初心砥砺前行。你的未来由你掌握 生命短暂时间宝贵我们无法预知未来会发生什么但我们可以掌握当下。珍惜每一天努力奋斗让自己变得更加强大和优秀。坚定信念执着追求成功终将属于你 只有不断地挑战自己才能不断地超越自己。坚持追求梦想勇敢前行你就会发现奋斗的过程是如此美好而值得。相信自己你一定可以做到  最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 ​ 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.zqtcl.cn/news/668360/

相关文章:

  • 企业建站系统营销吧tt团队韩国企业网站设计
  • 上海嘉定网站建设公司有没有知道网址的
  • 电商网站的银行支付接入该怎么做杭州微信小程序外包
  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设
  • 南通优普高端网站建设wordpress 煎蛋主题
  • 大企业网站制作及维护关于网站建设的论文题目
  • wordpress网站字体淄博网站搜索排名
  • visual stdio 做网站 注册用户 密码必须6位以上品牌服装网站源码
  • 做网站用到的技术湖南建设银行网站
  • 成都大型网站设计公司电脑上重新下载一个wordpress