Puppeteer--UI自动化测试And高级爬虫
来源:互联网 发布:网络通信软件有哪些 编辑:程序博客网 时间:2024/06/05 15:01
先简单介绍Puppeteer
官方文档:https://github.com/GoogleChrome/puppeteer
Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.
Puppeteer是一个node库,他提供了一组用来操纵Chrome的API,默认headless也就是无UI的chrome,也可以配置为有UI。其实有点类似于PhantomJS,但Puppeteer是Chrome官方团队进行维护的,前景会更好。
应用场景(官方简单列举了六种,我这边只提几个)
- 屏幕快照,打印PDF
- 高级爬虫(有别于传统爬虫.使用Puppeteer可以拿到渲染后的效果,传统爬虫相当于只能拿到http response)
- UI自动化测试,使用Puppeteer可以模拟用户操作
- 页面性能分析
今天的目标: 爬取SF的推荐文章,自动推荐到掘金
具体步骤
- 跳转至SF,分析DOM结构,拿到热门文章ListInfo
- 跳转到JueJin,模拟登录(这里事先注册了一个测试账号)
- 模拟填写推荐表单(就是刚才从SF拿到的热门文章)
- 如果不出意外,会是“推荐成功”,“已被推荐”两种结果
直接看效果
本来转的GIF,但图片很大也不清晰,我把录屏发到微博了,很短3分钟,也会更清楚一些:http://weibo.com/tv/v/FiHMz7dcq?fid=1034:dcc08a8eee118263f6071fb6fafcc9a9
关于自动化测试
可以看到上文都是简单的用户操作模拟,虽然距离完善的UI自动化测试还有不少的路要走,但确是一个清晰的路线。
加上应用场景不是很多,资源有限(测试大佬说接口都来不及测),公司内推动不是很迅速希望能把这个想法广播出去,大家共同探讨想法
附上项目地址
https://github.com/zhentaoo/puppeteer-deep
运行方式:
- git clone https://github.com/zhentaoo/puppeteer-deep
- npm i (node 8.4.0)
- npm test
具体代码,有兴趣可以在做讨论,主要看API 文档
阅读全文
0 0
- Puppeteer--UI自动化测试And高级爬虫
- Puppeteer--UI自动化测试初探
- Puppeteer 初探之前端自动化测试
- selenium爬虫and自动化测试
- 爬虫之自动化测试
- UI自动化测试浅析
- UI自动化测试
- Android UI自动化测试
- UI自动化测试介绍
- UI自动化测试Robotium
- Android UI 自动化测试
- Android UI 自动化测试
- UI自动化测试-UiAutomator
- Android UI 自动化测试
- 自动化UI测试
- Android UI 自动化测试
- 自动化UI测试
- iOS UI自动化测试
- JS为循环动态生成的节点添加点击事件
- 二叉树专题-lintcode二叉树的层序遍历
- nowcoder Wannafly挑战赛1 A 题 【树形dp or 点分治】
- DAY7
- 深浅拷贝 & 类型萃取
- Puppeteer--UI自动化测试And高级爬虫
- Android开发搭建
- Rom开发之OTA升级流程
- 笨方法学习Python-习题13: 参数、解包、变量
- Java——字节流简单介绍
- myeclipse快捷键大全
- org.springframework.dao.InvalidDataAccessResourceUsageException
- linux 下nginx+ftp搭建图片服务器在本机访问出现403错误的解决办法
- nginx配置文件中的location详解