滑动验证码自动化测试解决方案

最近尝试在写UI测试,登录验证采用滑动验证码进行验证。于是有了以下方案。

  1. 获取背景图
  2. 获取按钮图片
  3. 在背景图中查找与原图最相符的,返回位置
  4. 滑动滑块到缺口
  5. 校验是否通过

实际实施中遇到了以下问题:

  • 图片对比后 返回的位置精度不够 成功率较低 --获取灰度图像后进行二值化(浅色图片成功率较低)
  • 一次性滑动到位可能触发机器检测,及时位置对上了也会登录失败--generate_tracks方法根据拖动距离返回一个数组多次拖动
  • 精度问题可能需要一次登录进行多次验证  --while True+ flag解决

参考链接:

import urllib
import urllib.request

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import W
上一篇:Note3:selenium+python鼠标悬停+点击隐藏按钮的3种方式


下一篇:《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)