我正在尝试为浏览器自动测试套件和能够抓取的无头浏览器平台列出可能的解决方案列表 .
BROWSER TESTING / SCRAPING:
- Selenium - polyglot 浏览器自动化的旗舰,Python,Ruby,JavaScript,C#,Haskell等的绑定,用于Firefox的IDE(作为扩展),用于更快的测试部署 . 可以充当服务器并具有大量功能 .
JAVASCRIPT
-
PhantomJS - JavaScript ,带屏幕捕获和自动化的无头测试,使用 Webkit . 从版本1.8开始,实现了Selenium的WebDriver API,因此您可以使用任何WebDriver绑定,并且测试将与Selenium兼容
-
SlimerJS - 与PhantomJS类似,使用 Gecko (Firefox)代替 WebKit
-
CasperJS - JavaScript ,基于PhantomJS和SlimerJS构建,具有额外功能
-
Ghost Driver - JavaScript WebDriver Wire Protocol 执行 PhantomJS .
-
new PhantomCSS - CSS回归测试 . CasperJS模块,用于使用PhantomJS和Resemble.js自动进行可视化回归测试 .
-
new WebdriverCSS - Webdriver.io的插件,用于自动化视觉回归测试
-
new PhantomFlow - 通过测试描述和可视化用户流程 . Web用户界面测试的实验方法 .
-
new trifleJS - 将PhantomJS API移植到使用Internet Explorer引擎 .
-
new CasperJS IDE(商业)
NODE.JS
-
Node-phantom - 填补了 PhantomJS 和 node.js 之间的空白
-
WebDriverJs - Selenium团队对node.js的Selenium WebDriver绑定
-
WD.js - WebDriver / Selenium 2的节点模块
-
yiewd - 使用最新Harmony生成器的WD.js包装器!用 yield 摆脱回调金字塔
-
ZombieJs - 使用 node.js 疯狂快速,无头全栈测试
-
NightwatchJs - 使用Selenium Webdriver的基于节点JS的测试解决方案
-
Chimera - Chimera:可以完成phantomJS所做的一切,但是在完整的JS环境中
-
Dalek.js - 通过Selenium Webdriver使用JavaScript进行自动跨浏览器测试
-
Webdriver.io - 使用预定义的50个动作更好地实现WebDriver绑定
-
Nightmare - 具有高级API的电子桥 .
-
jsdom - 针对网页抓取量身定制 . 在Node.js中实现的非常轻量级的DOM,它支持使用javascript的页面 .
WEB SCRAPING / MINING
-
Scrapy - Python ,主要是一个刮刀/矿工 - 快速,文档齐全,可以与Django Dynamic Scraper链接,用于良好的挖掘部署,或者Scrapy Cloud用于PaaS(无服务器)部署,可以在终端或服务器独立进程中工作,可以与 Celery 一起使用, Build 在 Twisted 之上
-
Snailer - node.js 模块,尚未经过测试 .
-
Node-Crawler - node.js 模块,尚未经过测试 .
ONLINE TOOLS
-
new Online HTTP client - 专注的答案
-
dead CasperBox - 在线运行 CasperJS 脚本
RELATED LINKS & RESOURCES
-
new Resemble.js:图像分析和比较
Questions:
- 任何纯粹的Node.js解决方案或Nodejs到PhanthomJS / CasperJS模块实际工作并记录在案?
Answer: 奇美拉似乎走向那个方向,结帐Chimera
-
其他能够比Selenium更容易注入JavaScript的解决方案?
-
你知道任何纯粹的 ruby 解决方案吗?
Answer: 使用基于ruby的解决方案查看rjk创建的列表
- 您知道任何相关的技术或解决方案吗?
Feel free to edit this question and add content as you wish! 感谢您的贡献!
3 回答
http://triflejs.org/就像是phantomjs但是基于IE
如果Ruby是你的东西,你也可以尝试:
https://github.com/chriskite/anemone(开发停止)
https://github.com/sparklemotion/mechanize
https://github.com/postmodern/spidr
https://github.com/stewartmckee/cobweb
http://watirwebdriver.com/(硒)
此外,Nokogiri宝石可用于刮擦:
有一本专门的书,关于如何利用nokogiri通过packt出版进行刮擦
一种基于JS的Selenium是Dalek.js . 它不仅针对自动前端测试,您还可以使用它进行屏幕截图 . 它具有适用于所有重要浏览器的webdrivers . 不幸的是,这些网络驱动程序似乎值得改进(只是不要说"buggy"到Firefox) .