我是第一次接触cucumber和capybara。我有一个应用程序要测试其流程是:'提交表单后,将向用户发送一封电子邮件,其中包含指向另一个应用程序的链接。为了访问该应用程序,我们必须打开邮件并单击链接,该链接将重定向到该应用程序。'。我无权访问邮件ID。有没有办法提取该链接并继续流程?请给出一些可行的方法。问候,阿比谢克·达斯 最佳答案 在您的测试中,使用您需要的任何方式来触发您的应用程序发送电子邮件。发送电子邮件后,使用正则表达式从电子邮件正文中的链接中查找URL(请注意,这仅适用于包含单个链接的电子邮件),然后使用Capyba
我正在按照位于here的简短指南使用带有rspec的新CapybaraDSL添加到spec/features目录的测试单独运行良好,即。rails_project$rspecspec/features/my_first_feature.rb然而,当我尝试像这样对整个spec/目录运行测试时,spec/features目录被完全忽略:rails_project$rspec.指南中没有提及如何包含此目录(或其他目录)以完成我想要的包含。我真的需要这个来持续集成我的项目。有人能告诉我怎么做吗?谢谢! 最佳答案 您需要确保所有规范都以_sp
我想在capybara中将下拉列表的选项放入一个数组中。在此过程之后,我期望有一个字符串数组,其中包含所有下拉选项。我尝试了下面的代码,但无论选项计数是多少,我的数组长度都保持为1。periods=Array.new()periods=all('#MainContent_dd')printperiods.length 最佳答案 问题在于all('#MainContent_dd')返回所有具有IDMainContent_dd的元素。假设这是您的下拉列表并且id是唯一的,则periods.length应为1(即periods是选择列表)
在RSpec中我可以使用这样的代码切换到弹出窗口,link,我怎么能在cucumber步骤中做这样的事情?login_window=page.driver.find_window('PPA_identity_window')main_window=page.driver.find_window('')#Weusethistoexecutethenextinstructionsinthepopupwindowpage.within_window(login_window)do#Normallyfillintheformandloginfill_in'email',:with=>""fil
背景:我有一组针对我的Rails3应用程序运行的Capybara集成测试。对于测试套件的其他部分,我使用的是Rspec。我的MacOSX开发机器上有一个selenium2.6.0独立服务器集线器。java-jarselenium-server-standalone-2.6.0.jar-rolehub我正在运行多个虚拟机,每个虚拟机都通过一个selenium节点连接到集线器:java-jarselenium-server-standalone-2.6.0.jar-rolewebdriver-hubhttp://0.0.1.12:4444/grid/registerport5555-bro
我一直在尝试使用bundler安装Capybara-Webkitgem,并按照以下说明进行操作:https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit#macos-sierra-1012我一直遇到找不到Makefile的错误。我已经更新了Homebrew、gem系统,并使用cli工具更新了Xcode8,但都无济于事。非常感谢任何帮助!sudogeminstallcapybara-webkitPATH=/Users/caren/Qt5.5.1/5.5/cl
我试图用Capybara单击一张图片进行Cucumber测试,但找不到让Capybara将图片视为链接的方法。我的图片代码是:link_to(image_tag('ico_edit_16.png',alt:'Edit',class:'icon16',title:"Edit#{qualification.title}"),edit_qualification_path(qualification))显示为在html中,我一直无法找到使用capybara点击图片的好方法。有什么建议吗? 最佳答案 这应该有效:find('img.icon
我正在测试文件上传,即CSV。在我的代码和浏览器HTML中,我找到了文件字段,但在测试capybara时找不到文件字段。我努力尝试不同的方法,但无法解决问题。这里部分看起来像这样:#add_file_box%div.msg%h1.page-header="UploadaCSV"%h4.title=form_tagdummy_path,multipart:true,class:"upload_csv"do=hidden_field_tag:dmp_id,@dmp.id.form-group.input-group%span.input-group-btn%span.btn.btn-pri
我有以下标记:我想在第二个.foo容器中填写输入。我如何在Capybara中实现这一目标? 最佳答案 关于:withinall('.foo').lastdofind('.bar').set'avalue'end检查within和set. 关于css-在Capybara中查找具有相同类的最后一个元素并用一些文本填充它,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/20443963/
是否可以全局配置RSpec以对所有请求规范使用Capybara的(默认或自定义)JavaScript驱动程序?我们有时会忘记手动将js:true添加到每个请求规范中,这有点烦人。 最佳答案 在spec_helper.rb中,设置以下内容:config.before(:each)doifexample.metadata[:type]==:requestCapybara.current_driver=:selenium#orequivalentjavascriptdriveryouareusingelseCapybara.use_def