视频地址:https://www.bilibili.com/video/BV1BS4y1g74o?p=34&vd_source=fbe20e414c91197a15608aaf341b6d3e
1.环境搭建
本项目是一个java开源项目,jpress.
前台界面:(用户的前台)
前端登录后进入个人中心页面:(用户的后台)
注册:
后台界面:(管理员的后台)
管理员登录界面
2.需求分析,用例设计
文章分类测试:自动的填好内容,点击提交,而且可以测试删除
添加文章测试:自动填写要写的文章,测试发布
项目用例设计:
3.项目架构设计
PyAutoGUI: 解决定位元素定位不到的问题
l例如,获取登录页面的“同意”选择框,先获取这个元素的x,y坐标。
获取到坐标信息后,通过PyAutogui.click(传入坐标)来点击。
4.解决验证码问题-方案一
pycharm中提供了两个模块可以识别简单的验证码,
第一个是pytesseract模块,可以自动的识别一张图片并保存为字符串;
另外一个是PIL模块,专门图片处理的。
解决思路:
1.截屏整个页面
2.获得验证码坐标数据(获取左顶点坐标,通过图片大小,计算右底点坐标)
3.根据坐标数据抠图
4.使用pytesseract模块进行验证
代码:
1.获取截图和抠出验证码图片
2.验证:将抠出来的图片传入,用pytessract验证,输出图片上的字符串
5.解决验证码问题-方案二
在这个网址中,点击SDK下载,解压在项目的lib文件夹中,然后复制代码
pip install requests
这里修改“my_appId”和"my_appSecret”,ID在那个网址中可以查看,
更改成自己的id和密码
替换图片文件为自己的图片,
原图
如下结果,识别为wshs
6.实现工具类
设计获得验证码、随机生成字符串、保存cookie和加载cookie的几个方法,存放在util.py文件
最后返回一个code为验证码的字符串。
保存cookie和加载cookie的两个方法
验证一下生成随机字符串和获取code的功能是否实现:
这块需要改动一下:就是得获取一下设备屏幕的像素比例,在抠图的时候才会精确