当我们希望在网页上托管来自外部来源的内容时,我们更喜欢使用IFrame。它可以是图像,视频,其他供应商的广告,突出显示某些信息等。 HTML提供了“ <iframe> </ iframe>”标签来标识HTML文档中的IFrame。 使用Selenium Python在Iframe之间切换…
November 17, 2021
超赞合集 Awesome Selenium, 各语言版 Selenium WebDriver, Javascript 自动化 WebDriver, PHP 自动化 WebDriver, Ruby/Java/Python 自动化 WebDriver,
Awesome Selenium
> 令人愉快的精选清单 Selenium resources.
受启发 awesome 列出的东西.
Resources
Tools
Javascript
- selenium-webdriver -Selenium 项目中的官方 WebDriver JavaScript 绑定.
- WD -WebDriver / Selenium 2 node.js 客户端.
- WebdriverIO – 使用预定义的 50 多个动作更好地实现 WebDriver 绑定.
- CasperJS – 开源导航脚本和测试实用程序.
- Zombie.js – 快速,无头的全栈测试.
- DalekJS – 自动跨浏览器测试.
- SlimerJS – 适用于 Web 开发人员的可编写脚本的浏览器.
- Nightwatch – 高效,直接的 Javascript 端到端测试.
- yiewd – 使用最新 Harmony 生成器的 WD.js 包装器! 用 yield 摆脱回调金字塔.
- Karma – 为开发人员提供高效的测试环境以进行单元测试(主要是 AngularJS).
- Protractor – 量角器是 AngularJS 应用程序的端到端测试框架.
- CodeceptJS -NodeJS 的现代时代验收测试框架.
- Nightmare.js – 高级浏览器自动化库.
Ruby
- Selenium with Ruby – 硒红宝石绑定
- Watir – 自动化测试无伤大雅
- Anemone – 海葵网络蜘蛛框架.
- Mechanize – 自动与网站互动.
- Spidr – 网络抓取库,可以抓取一个站点,多个域,某些链接或无限地抓取.
- cobweb – 可以使用 resque 对爬网进行集群爬网的 Web 爬网程序,以快速爬网非常大的站点.
- Capybara – 用于基于机架的 Web 应用程序的集成测试工具. 它模拟用户如何与网站进行交互.
PHP
- Facebook WebDriver – 用于 webdriver 的 PHP 客户端.
- Selenium Setup -PHP 开发人员启动自己的 Selenium 服务器的工具.
- Steward – 集成了 php-webdriver 和 PHPUnit 的测试运行程序.
Python
- Selenium with Python -Selenium Python 绑定
- Helium – 氦气使硒的使用更加便捷
- Selene – 受 Selenide 启发的简洁易读的自动化测试框架,像 Selenide 一样支持 Ajax.
- Pomade – 用于硒测试的 SauceLabs 集成测试运行程序.
- mechanize – 有状态的程序化 Web 浏览.
- Robot – 机器人框架是用于验收测试和 ATDD 的通用测试自动化框架.
- behave-webdriver 使用 Selenium 和 Python 进行行为驱动的测试.
Java
- Selenium with Java -Selenium Java 绑定
- Conductor – 快速增强的 Selenium 框架,使测试编写变得轻而易举.
- darcy – 用于结构化,可维护的自动化的页面对象框架.
- Selenide – 使用 Fluent API 编写易于阅读和易于维护的自动化测试的框架. Selenide 有一个魔术,可以解决大多数 Ajax 和超时问题.
- Galen Framework – 为响应式网站自动测试外观.
- Serenity – 这是一个开放源代码库,可更快地编写质量更高的自动接受测试. (以前的修昔底德).
- seleniumQuery -Java for WebDriver 中的类似 jQuery 的跨驱动程序接口. 它设计为薄层,可以单独使用,也可以在您喜欢的框架之上使用,仅在需要时使某些情况(例如,声明 / 等待)更简单.
- WebDriverManager – 自动管理 Selenium WebDriver 二进制文件.
C
- Selenium with C# – Selenium C# bindings
- Atata – 基于 Selenium WebDriver 的自动化 Web 测试全功能框架.
- Strontium -Selenium / WebDriver(远程)服务器的. NET 实现(但已过时)
Groovy
- Geb – 它可以用于脚本编写,抓取和通用自动化,也可以通过与 Spock,JUnit 和 TestNG 等测试框架集成来作为功能 / Web / 验收测试解决方案.
Dart
- dart.webdriver – 为 Dart 提供 WebDriver 绑定. 它们使用 WebDriver JSON 接口,因此需要使用 WebDriver 远程服务器.
CSS Regression Testing
- PhantomCSS – 使用 PhantomJS 进行 Visual / CSS 回归测试.
- WebdriverCSS – 回归测试工具 WebdriverIO (目前已弃用,请使用 wdio-screenshot 暂且).
Containers
Docker
- elgalu/docker-selenium – 带有 Chrome 和 Firefox 以及视频录制支持的 Docker 中的 Selenium.
- Ggr – 用于创建大型 Selenium 群集的轻量级负载平衡器.
- SeleniumHQ/docker-selenium – 用于 Chrome 和 Firefox 的 Selenium 独立服务器,集线器和节点配置的 Docker 映像.
- Selenoid – 轻量级的 Selenium 集线器实现,可在 Docker 容器中启动浏览器.
- zalando/zalenium – 允许任何人拥有一次性使用的灵活 Selenium Grid 基础架构
- bravostudiodev/bravo-grid – 用于 Selenium Grid Extras 的 Docker 映像 / 设置(请参阅 Selenium Grid 部分下的内容),用于提供远程 Sikuli 测试 / 自动化执行以及网格节点文件上载 / 下载支持.
Kubernetes
- kubernetes/examples – 在 Kubernetes 集群上部署 Selenium Hub 和节点的示例
- Moon – 使用 Kubernetes 启动浏览器的商业性开源企业 Selenium 实现
- Callisto – 在 Kubernetes 中启动浏览器的开源工具. 为每个硒会话创建单独的.
- WebGrid – 开源,去中心化,可扩展且健壮的硒网格等效产品.
Driver
Desktop (browsers)
- Firefox – 下载的 selenium-server-standalone.jar 中包含 Firefox 驱动程序(用于 FF <v48).
- Geckodriver -Selenium> = v3 支持的 Firefox 驱动程序(对于 FF> v48)
- Chrome -ChromeDriver 是独立的服务器,可为 Chromium 实现 WebDriver 的有线协议.
- Internet Explorer -InternetExplorerDriver 是实现 WebDriver 的有线协议的独立服务器.
- Edgedriver -Edge 的 Microsoft Webdriver 服务器
- Safari -SafariDriver 被实现为 Safari 浏览器扩展. 驱动程序将转换传统的客户端 / 服务器关系,并使用 WebSockets 与 WebDriver 客户端进行通信(仅 Safari <= v9 支持,所有新的 Safari 版本与 macOS Sierra 一起提供,都集成有 SafariDriver,Apple 封闭源代码).
- Opera -OperaDriver 是由 Opera 软件开发的,由供应商支持的 WebDriver 实现,并由志愿者自愿实现了 Opera 的 WebDriver API.
Mobile (browsers and apps)
- Appium -Appium 是用于本机和混合移动应用程序的开源测试自动化框架. 它使用 WebDriver 协议驱动 iOS,Android Apps.
- Selendroid -Selendroid 基于 Android 工具框架.
- ios-driver – 使用 Selenium / WebDriver 测试任何 IOS 本机,混合或移动 Web 应用程序.
- WebDriverAgent – 用于 iOS 的 WebDriver 服务器,用于通过 WebDriver API 远程控制设备.
Desktop GUI Automation (non-browser-centric)
- WinAppDriver – 用于 Windows 应用程序自动化的 Microsoft WebDriver 实现.
- Winium -Windows 平台的自动化框架. 这是免费的. 它是开源的. 它是基于硒的. 支持:Windows 桌面(WPF,WinForms); Windows 应用商店或 Windows Phone 通用应用程序; Windows Phone Silverlight 应用程序.
- QtWebDriver – 用于使用 WebDriver 自动化基于 Qt 的 GUI 应用程序.
- AutoItDriverServer – 通过(Remote)WebDriver API 来控制 / 驱动 AutoIt 的 Selenium 服务器.
- AutoPyDriverServer – 通过(Remote)WebDriver API 控制 / 驱动 AutoPy 的 Selenium 服务器.
- Appium for Mac – 用于自动化 Mac OS X 桌面的 Appium / WebDriver 实现.
- SilkAppDriver – 通过(Remote)WebDriver API 控制 / 驱动商业 SilkTest 平台的 Selenium 服务器.
Desktop Tools
- SWD Page Recorder – Windows Desktop application that makes it easy to create, test and debug new Selenium Webdriver PageObject classes. It works with C#, Java, Python and Ruby out of the box and you may add own code generation templates.
- SWET -SWD 页面记录器的后继产品,具有相同的功能.
- Looking Glass – 提供跨浏览器元素检查器和 Selenium 代码生成器的 Java 应用程序.
- Ranorex Selocity – 由 Ranorex 的创建者检查浏览器元素的 Firebug / FirePath / Firefinder 和 Selenium IDE 替代产品.
- Silk WebDriver – 从 SilkTest 的创建者那里进行记录,回放和脚本导出的 Selenium IDE 替代产品.
- Fire IE Selenium – 基于 Microsoft Excel 的工具,可对 Internet Explorer 浏览器进行元素检查.
Selenium Grid
- Selenium Grid Extras – 一个框架,提供了除基本 Selenium Grid 之外的其他功能,例如视频录制.
- SeLion – 用于运行 Selenium 测试的(Java)框架,具有除基本 Selenium Grid 功能以外的其他功能,特别是稳定性改进等.
- Selenium Grid Extensions -Selenium Grid 的一组扩展,提供了其他功能,例如远程运行 Sikuli 测试 / 自动化,在网格节点上上传 / 下载文件.
Cloud Services
- Sauce Labs – 跨浏览器测试很棒. 在 300 多个 OS / 浏览器平台上进行硒测试,移动测试,JS 单元测试. 免费开始使用.
- Browserstack – 在真正的浏览器上测试您的网站是否具有跨浏览器兼容性. 即时访问多个桌面和移动浏览器. 免费试用.
- LambdaTest – 在 2000 多种实际浏览器和 OS 上测试您的网站是否具有跨浏览器兼容性. 免费试用.
- TestingBot -TestingBot 使用云中的 Selenium 提供轻松的跨浏览器测试.
- Aerokube Browsers – 快速的在线硒测试平台,无限制的计费计划和合理的价格.
- Moon Cloud – 您在公共云平台上的专用 Selenium 集群,具有按分钟计费和无限制浏览器数量的功能.
- Mail7 – 一次性电子邮件服务,可自动执行电子邮件工作流程测试, This document 解释了如何使用 Selenium 实现 Mail7
Device Farms
- OpenSTF – 一个用于运行自己的设备场的框架,适用于 Android 和 iOS.
Web Scraping / Mining
- Scrapy – Python ,主要是刮板 / 挖矿机 – 快速,有据可查,并且可以与 Django Dynamic Scraper 进行良好的采矿部署,或者 Scrapy Cloud 对于 PaaS(无服务器)部署,可以在终端或服务器独立进程中使用,可以与在 Twisted 之上构建的 Celery 一起使用.
- Node-Crawler – 适用于 NodeJS + 服务器端 jQuery 的 Node.js Web 爬网程序 / 蜘蛛.
Specifications
- The WebDriver Wire Protocol – 与浏览器或 RemoteWebDriver 服务器通信的 WebDriver 的所有实现均应使用通用的有线协议.
- WebDriver – 该规范定义了 WebDriver API,平台和语言无关的接口以及相关的有线协议,该协议允许程序或脚本对 Web 浏览器进行自省并控制其行为.
Blogs
- Official Selenium Blog -SeleniumHQ 的官方博客.
- Elemental Selenium – 每周免费提供一次有关如何像 Pro 一样使用 Selenium 的电子邮件.
- Assert Selenium – 正确的 Selenium 自动化 – 仅 Selenium 博客.
- SauceLabs Blog – Blog curated by SauceLabs.