当前位置: 首页 > 软件库 > 开发工具 > 测试工具 >

Capybara

Web 应用模拟测试
授权协议 MIT
开发语言 Ruby
所属分类 开发工具、 测试工具
软件类型 开源软件
地区 不详
投 递 者 茹正初
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Capybara 通过模拟真实用户交互的方式来测试你的 web 应用。它内置 Rack::Test 和 Selenium 支持,也支持其他驱动。WebKit 通过外部 gem 的形式支持。

特性

  • 无需配置 —— 对于 Rails 和 Rack 应用而言,开箱即用。

  • 符合直觉的 API  —— 模拟真实用户行为。

  • 可替换后端  —— 可以替换测试后端,例如从快速的 headless 模式切换到实际的浏览器,无需更改测试。

  • 强力同步  —— 你不用手动等待异步过程结束。

  • 项目使用了capybara,在github中研究了下资料, 这里记录下常用的简单方法. 更多详情查看—>Github_Capybara Note: By default Capybara will only locate visible elements. This is because a real user would not be able to interact with non-visi

  • 最近项目上想使用可视化测试的黑盒测试,为此我去再学习了ruby界中的出名的cucumber测试框架,以前只是大约摸了一下,并没有深究,这次要求是测试中要可视化每个特征功能(Feature)按我所设定的情景(Scenario)跑一次,而现在我主要实现了web自动化测试,(GUI的还在研究这个框架的可行性), 首先介绍下我使用的GEM如下所示 group :development, :test do

  • Capybara 可以和 Cucumber、RSpec、Test::Unit、MiniTest::Spec配合使用。FIXME Capybara 默认使用 RackTest 驱动,此外还支持 Selenium、Capybara-webkit、Poltergeist。 DSL Capybara 的 DSL 十分易懂。我们来看几个例子吧: 访问: visit('/projects') 点击链接或按钮

  • 是的,这是可能的,我们正在这样做.只需使用带有firefox或Chromium的selenium-webdriver gem来远程测试正在运行的应用程序. 您无法从Java测试环境中测试它,因为您没有Rack基础架构,但是当您的Java应用程序在您的开发机器上运行时,您可以创建单独的ruby测试套件并运行rake(或者甚至可以自动启动应用程序Rake文件) 这就是黄瓜的env.rb的样子: # #

  • capybara简介 capybara是一个ruby的gem,它是一个用来测试web应用的工具包,使用它可以模拟用户对web应用的操作。它可以通过CSS或xpath选择器选中页面上的元素,然后对这些元素应用一些操作,从而实现模拟用户行为。 底层driver的实现 基于底层driver的基础上,提供一套统一的 界面交互api,如visit, right_click,hover等。它内置 Rack::

 相关资料
  • 简介 在 Laravel 应用程序测试中,你可能希望「模拟」应用程序的某些功能的行为,从而避免该部分在测试中真正执行。例如:在控制器执行过程中会触发事件(Event),从而避免该事件在测试控制器时真正执行。这允许你在仅测试控制器 HTTP 响应的情况时,而不必担心触发事件。当然,你也可以在单独的测试中测试该事件逻辑。 Laravel 针对事件、任务和 Facades 的模拟,提供了开箱即用的辅助函

  • #使用Mocks测试 在现实世界的应用程序中,我们的组件很可能具有外部依赖性。当为组件编写单元测试时,如果我们可以模拟这些外部依赖性,以使我们的测试仅依赖于被测试组件的行为,这将是理想的。 vue-loader提供了一个特性,它允许你使用inject-loader向*.vue组件注入任意依赖项。一般的想法是,不是直接导入组件模块,我们使用inject-loader为该模块创建一个“模块工厂”函数。

  • 如何模拟集成测试所需的许多依赖关系? 我使用Mockito进行纯单元测试。在这种情况下,Pure意味着测试一个类,嘲笑它的所有依赖关系。漂亮。 现在是集成测试。假设在这种情况下,集成测试将测试以下内容: 消息被放入队列 我们也可以说,在第2步中发生的处理是严肃的事情。它依赖于大量的数据库交互、多种外部服务、文件系统,以及各种各样的东西。流还会引发很多副作用,所以我不能简单地确保响应是正确的——我需

  • 我正在试着用mockito测试我的缓存层。 我用的是这里描述的咖啡因 基本上,我有这个... 这工作得很好,方法被缓存并且工作得很好。

  • 在客户机-服务器体系结构中,当模拟客户机和模拟服务器时,最好的方法是什么。我理解单元测试应该只测试给定的类,每个依赖对象都被模拟,而集成测试应该测试整个特性。当谈到API调用时,我感到困惑的是,我应该模拟用于API调用的客户机,还是应该使用一些服务器模拟框架,让真正的客户机调用模拟服务器。 在这种情况下,我应该(不是强制性的)测试我是否使用了正确的API url、正确的方法以及在查询参数或请求正文

  • 我们有一些传统的laravel项目,它们在类中使用正面。 我们最近的项目使用了底层laravel类的依赖注入,facades所代表的类正如Taylor Otwell自己所暗示的那样。(我们对每个类使用构造函数注入,但为了保持示例简短,这里我使用方法注入并使用单个类。) 我知道外表是可以被嘲笑的 这对单元测试很有效。我试图理解的问题是,这些门面是否被“全球”嘲笑。 例如,让我们假设我正在编写一个集成

  • 有人在Android中使用Appium进行Web应用程序测试吗? 目前我正在使用Appium在IOS Simulator(IPad)中自动化我的Web应用程序,并且运行良好。我也想将它用于Android,即(Mac机器中的Nexus7 Simulator)。 我已经尝试了以下所需的能力… 但我在错误下面。。。 出现配置错误,未启动会话信息:响应客户端的错误:{“状态”:6,“值”:{“消息”:“会

  • 我很困惑于嘲笑如何对实现进行单元测试。问题是我想嘲笑不同的预期行为。 有没有办法做到这一点?由于导入只能在文件的顶部,并且为了能够模拟某些内容,必须在导入之前声明它。我也试图传递一个本地函数,这样我就可以覆盖行为,但jest抱怨你不允许传递任何本地的东西。 在内部,可以想象使用