郑州网站商城建设,装修公司网站 源码,杭州哪些做网站公司好,如何做网络推广外包一、背景及原理
处理登录时的滑动验证码有两个难点#xff0c;第一个是找到滑块需要移动的距离#xff0c;第二个是模拟人手工拖动的轨迹。模拟轨迹在要求不是很严的情况下可以用先加速再减速拖动的方法#xff0c;即路程的前半段加速度为正值#xff0c;后半段为负值去模…
一、背景及原理
处理登录时的滑动验证码有两个难点第一个是找到滑块需要移动的距离第二个是模拟人手工拖动的轨迹。模拟轨迹在要求不是很严的情况下可以用先加速再减速拖动的方法即路程的前半段加速度为正值后半段为负值去模拟效果还是比较好的。 移动距离的计算主要有两种方式。一种是用机器学习的方式首先从被测网站上下载大量的验证码图片然后人工标注数据集去训练一个神经网络。这种方法成本较高且难度较大。另一种就是图像处理。图像处理的话相对来说要简单一些根据网站返回的图片又可以分为两类一类是返回两张图一张是完整的图片另一张是有缺口的图片这种情况只要比较两幅图的差值即可获得缺口位置 另一类是只返回有缺口的图片那么根据图片的特点如缺口附近有明显白边可以做边缘检测或者采用模式识别识别滑块形状的位置都可以进行尝试。 那么对于滑动验证码难度提升也可以分为距离计算和拖动轨迹这两方面去考虑。距离计算的话就是在图片上下功夫可以增加图片库使缺口出现的位置更加随机缺口在图片上不出现明显边界缺口形状也不必是矩形可以是不规则图形等等。拖动轨迹的话则可以要求更加接近人类真实的轨迹这一点是我们肉眼看不见的需要大量的数据进行模拟。未来的发展趋势应该也是利用机器学习综合考量行为轨迹、访问频率、地理位置等因素进行判断。
二、实际案例
1.测试内容
https://www.cointranquillity.com网站登录时的滑动验证码
2.测试环境
ubuntu18,selenium3.14.0,webdriver3
3.思路说明
首先该网站的验证码是只返回一张图的情况并且图片中缺口的白边非常明显因此可以采用边界检测的方法。但是在实际测试过程中我发现该网站的登录验证码缺口始终出现在图片靠右侧的几个位置附近因此在该案例中我并没有采用图像处理的方法而是采用了三个固定的位置去不断尝试、刷新验证码每张图片有三次机会通常在两到三次尝试之后可以验证通过是一种比较简单的解决方法。
4.代码 行动吧在路上总比一直观望的要好未来的你肯定会感 谢现在拼搏的自己如果想学习提升找不到资料没人答疑解惑时请及时加入扣群 320231853里面有各种软件测试开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走
这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你