首页 > 其他分享 >Web自动化测试 - 验证码的处理

Web自动化测试 - 验证码的处理

时间:2023-12-28 17:44:40浏览次数:34  
标签:Web res 验证码 自动化 print 识别 图片

处理验证码一般会有以下几种方式:
1.关闭验证码功能
2.设置万能验证码
3.通过第三方平台识别验证码并返回
以超级鹰平台为例:

  • 获取验证码图片 - 使用selenium提供的方法获取图片

    driver.find_element(By.ID,"Verify_Code").screenshot("verify.png")
    
  • 通过第三方接口发送请求识别验证码图片内容

  • 提取验证码图片

    files = {"userfile":open("verify.png","rb")} #二进制读取 rb
    
  • 发送请求到超级鹰平台进行识别

    resp = requests.post(url,data,files)
    
  • 查看响应结果

    res = res.json()
    print(res)
    
  • 提取数字内容

    if res["err_no"]==0:
        code = res["pic_str"]
        print(f"验证码识别成功:{code}")
    else:
        print("识别失败")
    

注意:

  • 一般处理特殊场景或者特殊功能实现不会与用例脚本代码混合在一起,而是会独立封装后调用
  • 主要目的是降低代码耦合性

标签:Web,res,验证码,自动化,print,识别,图片
From: https://www.cnblogs.com/LoveSianna/p/17933215.html

相关文章

  • 青少年CTF-qsnctf-Web-eval
    题目环境:<br/>出题人:末心题目难度:★题目描述:Eval是个什么呢,flag格式为:qsnctf{xxx}。做道末心师傅出的题啦......
  • nginx WebUI进行反向代理为什么报错504
    当您在使用NginxWebUI进行反向代理时遇到504错误,这通常是由于Nginx无法在合理的时间内完成请求处理。504错误是Nginx的通用错误,表示"网关超时"。以下是可能导致此问题的原因以及相应的解决方案:1.后端服务器问题原因:后端服务器可能由于各种原因无法及时响应。解决方案:检查后端服务......
  • 接口自动化测试第三天,利用类的动态方法设置全局变量
    今天的注意知识点是学会使用jsonpath,利用类的动态方法设置全局变量我们大多数情况下,接口都需要使用到登录时获取的token,为了方便使用,我们需要将登录后的token使用jsonpath表达式提取出来然后设置为全局变量首先提前下载好第三方库,jsonpath,这里给一个jsonpath官方地址和在线练习......
  • 分布式IO如何提升工业自动化生产效率
    随着工业自动化技术的不断发展,分布式IO在工业自动化领域的应用越来越广泛。作为一种先进的控制技术,分布式IO能够实现设备的分布式控制和监测,提高生产效率、降低能耗和减少故障率。分布式IO可以提高工业自动化生产的效率。在传统的工业自动化生产中,设备的控制和监测通常采用集中式控......
  • mrml python 以及webassembly 实现简单说明
    简单说明下mrmlpython以及webassembly的实现pythonpython是基于了pyo3,利用pyo3提供的能力,暴露了python模块参考处理//暴露的mrml模块#[pymodule]#[pyo3(name="mrml")]fnregister(_py:Python<'_>,m:&PyModule)->PyResult<()>{......
  • 简单记录下python视频提取语音,语音转文字(web版本)
    一、直接贴代码,有些离线文件需要下载,python依赖包也需要下载。#coding=utf-8fromflaskimportFlask,render_template_string,jsonify,requestfromflask_corsimportCORSfromtkinterimportfiledialogfrompydubimportAudioSegmentfromnoisereduceimportredu......
  • github page 自动化部署
    本文使用vue项目做演示默认读者会git、vue开发等相关知识1、准备工作创建一个vue应用创建一个本地仓库创建一个github仓库推送到github远程仓库2、打开github仓库中的设置Settings→Pages→Buildanddeployment→Source,选择GitHubActions点击Configure......
  • Docker 部署 Prometheus Webhook DingTalk
    介绍在此部分简要介绍PrometheusWebhookDingTalk的作用和使用Docker部署的优势。概述将要涵盖的常用参数以及如何配置Docker容器的关键概念。步骤1:获取PrometheusWebhookDingTalk代码解释如何获取PrometheusWebhookDingTalk的代码并进入存储库目录。gitcloneh......
  • WebSocket连接实现实时数据推送
    WebSocket连接实现实时数据推送1、前端1-1、webSocket.js//暴露自定义websocket对象exportconstsocket={//后台请求路径url:"",//websocket对象websocket:null,//websocket状态websocketState:false,//重新连接次数reconnectN......
  • Web应用框架ABP技术分享
    ABP技术分享 一、什么是ABPASP.NETBoilerplate(ABP)是一个开源且有着完善文档的应用程序框架。它不仅仅是一个框架,还基于领域驱动设计提供了强大的架构模型,并考虑到了所有的最佳实践。二、ABP的关键特性和原则2.1领域驱动设计(DDD)ABP鼓励使用DDD原则,帮助开发人员专注于对应......