首页 > 其他分享 >软件测试学习笔记丨UI_ai自动化获取图片验证码

软件测试学习笔记丨UI_ai自动化获取图片验证码

时间:2024-02-07 17:06:49浏览次数:29  
标签:code ai cv2 self driver UI import ocr 软件测试

UI自动化获取图片验证码

代码

test_ai.py

from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By

from L5.AICode.ocr_code import OCRCode


class TestAi:

    def setup_class(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(10)
        # 打开页面
        self.driver.get("https://vip.ceshiren.com/#/ui_study/code")

    def teardown_class(self):
        self.driver.quit()

    def test_ai(self):
        # 获取验证码图片链接
        img_url = self.driver.find_element(By.CSS_SELECTOR, ".code1:nth-child(1) img").get_attribute("src")
        # 获取验证码内容
        code = OCRCode.get_by_ocr(img_url)
        # 输入验证码
        self.driver.find_element(By.CSS_SELECTOR, ".code1:nth-child(1) input").send_keys(code)
        # 点击确定
        self.driver.find_element(By.CSS_SELECTOR, ".code1:nth-child(1) button").click()
        # 断言验证码是否正确
        sleep(1)
        text = self.driver.find_element(By.CSS_SELECTOR, ".el-message p").text
        print(text)
        assert text == "验证成功"

ocr_code.py

from time import sleep

import easyocr
import requests
import cv2


class OCRCode:

    @classmethod
    def get_by_ocr(cls, img_url):
        # 使用requests发请求拿到图片结果
        result = requests.get(img_url, verify=False)
        # 保存图片到本地
        with open("code.png", "wb") as f:
            f.write(result.content)
        sleep(1)
        # opencv处理图片
        cls.opencv_image()
        # 实例化easyocr
        ocr = easyocr.Reader(['ch_sim', 'en'])
        # 识别图片内容
        code = ocr.readtext("result.png")[0][1].replace(" ", "")
        print(code)
        return code

    @classmethod
    def opencv_image(cls):
        # 读取图片
        image = cv2.imread("code.png")
        # 边缘保留滤波去噪
        image1 = cv2.pyrMeanShiftFiltering(image, sp=8, sr=60)
        # 灰度图片,颜色处理
        image2 = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)
        # 颜色取反
        cv2.bitwise_not(image2, image2)
        # 保存图片
        cv2.imwrite("result.png", image2)

标签:code,ai,cv2,self,driver,UI,import,ocr,软件测试
From: https://blog.51cto.com/u_16547786/9638154

相关文章

  • UGUI 基础控件
    基础控件ImageSourceImage:图片来源(图片类型必须是“精灵”类型)Color:图像的颜色Material:图像的材质(一般不修改,会使用UI的默认材质)RaycastTarget:是否作为射线检测的目标(如果不勾选将不会影响射线检测)Maskable:是否能被遮罩ImageType:图片类型Simple:普......
  • AI大模型的使用-让AI帮你写单元测试
    随着人工智能技术的不断发展,AI大模型在许多领域都展现出了强大的能力。其中一个令人兴奋的应用领域是软件开发,尤其是单元测试的编写和执行。通过利用AI大模型的生成能力和自然语言处理技术,我们可以自动化地编写和执行单元测试,从而提高测试效率和代码质量。一、AI大模型在单元测试中......
  • 秘塔科技推出AI搜索产品「秘塔AI搜索」
    近日,国内一家人工智能科技公司(秘塔科技)推出了一款AI搜索产品——秘塔AI搜索,能够大幅提升搜索效率,解决日常生活、工作学习等场景中遇到的各类搜索需求。秘塔AI搜索官网:https://metaso.cn/相较于传统搜索引擎,秘塔AI搜索为用户提供了全新的搜索体验。AI通过语义理解、问题分析......
  • 轻量级容器管理工具Containerd的两种安装方式
    1.yum安装1.1.获取阿里云YUM源[root@centos]#wget-O/etc/yum.repos.d/docker-ce.repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.2.查看YUM源中Containerd软件[root@centos]#yumlist|grepcontainerdcontainerd.io.x86_641.4.12-3.......
  • AI TREND JAN 2024
      TikTokResponsibilities-DevelopcomputervisionmodelormultimodalitymodeltorecognizeviolationcontentinTikTokLivestream-Explorecutting-edgemultimodalorcomputervisionlargemodels(CLIP,COCA,ALBEF,BLIP,Flamingo,ViT-G,ViT-22B,EVA-......
  • 完全免费,文字转语音、AI语音合成,视频配音就用这两款软件!
    最近又有不少小伙伴找我要文字转语音、配音软件,刚好最近我也找了两款还比较不错的免费软件,今天就来分享给大家。最后还推荐了一款我自己一直在用的软件,建议认真看看! 01-Vpot-FREE(电脑)它是一款永久免费的文字转语音软件,由B站大佬开发的,无需安装,解压后找到如图文件,双击即可打......
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ScrollBar组件
     鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ScrollBar组件一、操作环境操作系统: Windows10专业版、IDE:DevEcoStudio3.1、SDK:HarmonyOS3.1+编辑二、ScrollBar组件鸿蒙(HarmonyOS)滚动条组件ScrollBar,用于配合可滚动组件使用,如List、Grid、Scroll。子组件可以包含单个子组件。接口Sc......
  • 软件测试学习笔记丨nmon 工具简介与使用
    nmon简介nmon是一种可以在AIX与Linux操作系统上使用的性能监控与分析工具使用技巧:下载位置:http://nmon.sourceforge.net ,从Binaries中下载可执行程序包解压之后选择使用所在操作系统对应的可执行程序可以使用ln命令将nmon程序软链接添加到/urs/bin目录下,这样可以通......
  • 软件测试学习笔记丨性能分析系统级别指标 io cpu mem net
    io指标监控命令iostat命令描述:监控系统设备的IO负载情况命令演示:iostatio指标监控命令df命令描述:列出⽂件系统的整体磁盘空间使⽤情况命令演示:df-hcpu指标监控命令uptime命令描述:用于显示系统总共运行了多长时间和系统的平均负载命令演示:uptimecpu指标监控命令cat/......
  • 软件测试学习笔记丨Web端测试——测试用例设计思路
    一、UI测试界面风格统一,与UI设计原型图一致界面文案正确提示、警告或错误说明描述准确切换窗口大小,将窗口缩小后,页面是否按比例缩小或出现滚动条,页面是否正确显示所有的图片是否都被正确装载在不同的浏览器、分辨率下图片是否能正确显示二、搜索测试如果支持模糊查询,搜索名称中......