capybara 相关问题

Capybara是Rack应用程序的Web应用程序测试框架,例如Rails,Sinatra和Merb。

我如何在水豚中点击这个按钮

请帮我解决水豚的问题 我在水豚中有一个这样的按钮: 我尝试过 点击但是...

回答 4 投票 0

Capybara 与 jquery.selectize 的集成测试

如何使用 jquery.selectize 编写带有表单的水豚集成测试? 我想测试用户输入几个值。

回答 7 投票 0

如何在cuprite中切换选项卡并断言内容?

我用的是赤铜矿0.13 水豚3.53.3 规格3.11 我有一个简单的规范,单击带有 target="_blank" 属性的链接。 new_window = page.window_opened_by 做 点击...

回答 1 投票 0

Find 方法返回的 Capybara 元素采用了错误的坐标

我已使用 Ruby On Rails 和 Minitest 运行系统测试,但显示错误。 错误: RequestsTest#test_Admin_User_should_create_request: 硒::WebDriver::错误::ElementClickIntercepte...

回答 1 投票 0

如何在水豚中点击表单提交按钮

使用 Rails、rspec 和 capybara,我正在尝试测试典型的 ERB 生成形式: 使用 Rails、rspec 和 capybara,我正在尝试测试典型的 ERB 生成形式: <form action="/pages/1" id="edit_page_1" method="post"> <input id="page_title" name="page[title]" type="text"> <input name="commit" type="submit" value="Update Page"> </form> 我运行两种功能规范,一种是无论哪种语言都相同的,另一种是 I18N 特定的(用于国际化测试)。 问题是没有明确的方法来点击水豚的提交按钮,除非我错过了明显的。我希望简单地click('commit')就能达到目的。 使用 click_button('Update Page') 可以工作,但显然是特定于语言的,并且不能与新建模板和编辑模板一起使用,即使它们呈现相同的表单模板。 向提交按钮添加 id 是可行的,但我非常不喜欢专门更改代码,因为测试需要它。 使用 css 或 xml 匹配器看起来都很丑(用户永远不会知道/关心以这种方式访问元素),而且太过分了。 最后,一个宏就是我需要的答案,因为显然水豚中没有任何原生的东西。 # spec/support/form_helpers.rb module FormHelpers def submit_form find('input[name="commit"]').click end end 这包含在spec_helper.rb中 RSpec.configure do |config| config.include FormHelpers, :type => :feature ...etc... 我使用了 :type => :feature,因此它仅包含在集成测试中。 在集成测试中你可以这样使用它: scenario 'pages can be created' do visit new_page_path fill_in 'page_title', with: 'A Tale of Two Cities' submit_form # Clicks the commit button regardless of id or text expect(page).to have_content 'The page was created' ...etc.. end 当然submit_form也可以在within块内使用并与:js => true一起使用。 我通常这样做: within 'form#edit_page_1' do find('input[name="page[title]"]').set "Some Value" find('input[name="commit"]').click end 它与 html 相关,但与它的语义属性相关,所以我觉得它很好。 事实上我从来不使用神奇的取景器。 顺便说一句,我不明白你的评论:(a user would never know/care about accessing an element that way)。 集成规范适合您,它肯定会模仿用户,但这只是提供正确说明的问题。 尝试使用: find('input[name="commit"]').click 有帮助

回答 3 投票 0

在 Heroku 上找不到用于 Ruby on Rails 的 Selenium 的 Chrome 二进制文件

两周前,我成功在 Heroku 上搭建了一个工作环境,结合了 Capybara、Selenium、Chromedriver 和 Chrome 进行网页抓取。然而,一周前我一定改变了一些东西,这......

回答 2 投票 0

Selenium::WebDriver::错误::UnexpectedAlertOpenError:

我收到错误,因为警报已打开。我认为我以正确的方式处理它;-) 根据我的研究,“accept_confirm”块是处理此问题的方法。 功能“用户可以删除

回答 1 投票 0

使用水豚运行系统测试时,如何测试持久层?

我正在开发一个 Rails 应用程序,用户可以在其中注册。 用户注册后,我想检查持久的用户记录是否符合某些期望,例如:名字已保存....

回答 1 投票 0

使用 ruby capybara 启动适用于 Android 的 appium 驱动程序

如何使用 ruby capybara 框架启动 android 的 appium 驱动程序 def register_cloud_mobile_driver Capybara.register_driver :cloud_mobile 做 |app| opts = Selenium::WebDriver::Remote::

回答 1 投票 0

如何在水豚场景中添加等待条件?

我正在使用 capybara 来测试我的 Rails 应用程序以进行集成测试。 在我的应用程序中有很多 Lightbox 和 Ajax 以及 js 调用。 @javascript 场景:我同意功能性 ...

回答 4 投票 0

RSpec 系统测试无法访问工厂新创建的记录

我正在尝试登录用户并访问该用户拥有的记录的页面。 RSpec.describe '用户问题',输入: :system do 上下文“紧急事项流”做什么 让!(:物质){创建(:物质,:

回答 1 投票 0

rspec 的未定义方法sign_in

我正在编写一个简单的控制器测试,以确保我们在 GET 请求时获得 200 状态。我在网上遇到的每个答案都说要确保我们在

回答 1 投票 0

等待JS加载

我的规范脚本中的 js 加载有问题。 我使用了 js: true 和 wait_for_ajax,但效果不佳,因为我使用 ActionMailer::Base.deliveries.count 来访问电子邮件。 有没有...

回答 1 投票 0

如何用Capybara的has_select反驳选项的存在?

假设您有一个仅包含以下选项的选择列表: 第二个假选项 并且您想断言选择列表不包含带有...的选项

回答 2 投票 0

期待与水豚的图像

我需要验证图像是否存在,但我没有得到它,有人可以帮助我吗? 我想: Expect(page[:src]).to eq("https://www.viajanet.com.br/static/assets/platform/img/catalog/RIO/Rio...

回答 1 投票 0

还有另一种方法可以用水豚点击菜单项吗

朋友们无论如何都尝试过,但无法单击“Gestão de Materiais”菜单项。我需要的一种情况是滚动此菜单以查看并单击项目菜单。但我不知道为什么...

回答 1 投票 0

如何用水豚填写日期时间本地字段?

我正在使用Cocoon来添加记录。 ID 类似于 Workshop_instance_sessions_attributes_1477654140_start_time 。目前我正在遍历 DOM 并获取动态生成的 ID(这......

回答 4 投票 0

如何使用 rspec 测试浏览器自动化代码

我正在开发一个需要大量浏览器自动化来检索数据、填充表单等的项目。我过去使用过 capybara 和 selenium 来进行网站的自动化测试,但我... .

回答 1 投票 0

使用Capybara填充text_field_tag不会触发jQuery on_change

我有一个简单的 html.haml 文件,其中有一个 text_field_tag 和一个 label_tag。 我使用 jQuery 来获取 text_field_tag 值,并使用该值 on_change 设置 label_tag。 当我运行页面时...

回答 1 投票 0

Capybara::ElementNotFound:无法找到文件字段“文件”

我正在测试文件上传,即 CSV。在我的代码和浏览器 HTML 中,我找到了文件字段,但在测试时,水豚无法找到该文件字段。我努力尝试了不同的方法,但...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.