问题标签 [webrat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
4588 浏览

webrat - 无法构建 gem —— 原生扩展构建失败—— 你知道为什么吗?

我不知道这里出了什么问题——有什么想法吗?

我在 Ubuntu 8.04 LTS 上运行,并按照以下说明安装了 libxml2 和 libxslt:

http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux.php

http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php

但是,我安装了最新版本:

libxslt-1.1.24
libxml2-2.7.3

安装很顺利

-------------------- 我设置LD_LIBRARY_PATH---------------------------- ------

回声$LD_LIBRARY_PATH
/usr/local/libxslt/lib:

------------- 似乎该功能存在 - 至少基于字符串的输出 ------------
/usr/local/libxslt/lib$字符串 * | grep ParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc

------------------------ 但是编译仍然失败 ---------- ------------------

sudo gem install webrat
构建原生扩展。这可能需要一段时间...
错误:安装 webrat 时出错:
错误:无法构建 gem 原生扩展。

/usr/local/bin/ruby extconf.rb 安装 webrat
检查 /opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include 中的 iconv.h, /opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include /libxml2... 是
检查 /opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include、/opt/local/ 中的 libxml/parser.h包括/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2...是的
检查 /opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include、/opt/local/include/libxml2、/usr 中的 libxslt/xslt.h /local/include,/usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2... 是
检查 libexslt/exslt .h 在 /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include, /usr/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2... 是
检查 xmlParseDoc() 在 -lxml2.. . 是
的,在 -lxslt 中检查 xsltParseStylesheetDoc() ... 没有
缺少 libxslt。尝试“port install libxslt”或“yum install libxslt-devel”
*** extconf.rb failed ***
由于某种原因无法创建 Makefile,可能缺少
必要的库和/或头文件。检查 mkmf.log 文件以获取更多
详细信息。您可能需要配置选项。

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/bin/ruby
--with-iconv-dir
--without-iconv-dir
--with-iconv-include
--without-iconv-include=${iconv-dir}/include
--with-iconv-lib
--without-iconv-lib=${iconv-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include
--with-xslt-lib
--without-xslt-lib=${xslt-dir}/lib
--with-xml2lib
--without-xml2lib
--with-xsltlib
--without-xsltlib

Gem 文件将继续安装在 /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.3.3 以供检查。
结果记录到 /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.3.3/ext/nokogiri/gem_make.out

0 投票
2 回答
555 浏览

ruby - 使用 selenium-client gem 上传文件

我正在使用带有 Webrat 和 Cucumber 的 selenium-client gem 来测试 rails 项目。我已经按照这里的描述设置了 Cucumber:https ://github.com/cucumber/cucumber/wiki/Setting-up-Selenium

我的问题是 Selenium 无法执行文件上传。理想情况下,我希望能够复制 webrat 的 'attach_file' 方法。我尝试通过使用 selenium-client 的 'type' 方法键入所需文件的路径来回避这个问题,但这似乎失败了。

有没有人建议使用 selenium-client (即不是常规的 Selenium gem)的解决方法?

0 投票
1 回答
674 浏览

ruby-on-rails - Cucumber 和/或 Webrat 讨厌?

我有一个黄瓜步骤,当一个 添加到我的布局时,它最近开始失败。如果我 退出,我的测试都会通过。当我把它放回去时,使用 WebRat 提供的 click_link 方法的每个测试都会失败,并显示以下消息:

有没有人有什么建议?

0 投票
11 回答
17503 浏览

ruby-on-rails - 带有 Cucumber Stories 的会话变量

我正在为一个有多个步骤的“注册”应用程序编写一些 Cucumber 故事。

与其编写一个 Huuuuuuuge 故事来一次涵盖所有步骤,那样会很糟糕,我宁愿像普通用户一样完成控制器中的每个操作。我的问题是我将在第一步中创建的帐户 ID 存储为会话变量,因此当访问第 2 步、第 3 步等时,会加载现有的注册数据。

我知道能够controller.session[..]在 RSpec 规范内访问,但是当我尝试在 Cucumber 故事中执行此操作时,它会失败并出现以下错误(而且,我还在某处读过这是一种反模式等......):

使用 controller.session[:whatever] 或 session[:whatever]

使用会话(:随便)

所以,似乎加入会话存储是不可能的。我想知道的是是否有可能(我猜哪个是最好的..):

  1. 模拟会话存储等
  2. 在控制器中有一个方法并将其存根(例如get_registration,它分配一个实例变量......)

我浏览了 RSpec 书(好吧,略读)并浏览了 WebRat 等,但我还没有真正找到我的问题的答案......

再澄清一点,注册过程更像是一个状态机——例如,用户在注册完成之前要经过四个步骤——因此“登录”并不是一个真正的选择(它打破了网站工作方式的模型)...

在我的控制器规范中,我能够取消对基于会话变量加载模型的方法的调用 - 但我不确定“反模式”行是否也适用于存根和模拟?

谢谢!

0 投票
2 回答
722 浏览

ajax - 如何使用 Merb 和 Webrat 测试 AJAX 请求?

我正在将merb与rspec和webrat一起使用。如何确保 rjs 模板成功渲染?由于ajax,我不能只写have_xpath。

0 投票
2 回答
923 浏览

rspec - cucumber + webrat:检查出现两次的文本

我正在开发一个 Rails 应用程序来自学 BDD 和一般测试。在 railcasts video tuts 之后使用 cucumber + webrat + rspec。在这个应用程序中,一个测验 has_many questions。我正在测试的视图应该两次且不连续地呈现问题。(这里不测试连续性)我有一个旨在检查这个的黄瓜场景

我的步骤是这样定义的:

我用一个工具测试了正则表达式,它似乎可以工作,但是在黄瓜上测试失败了。
我搜索了一些文档,但 webrat 的唯一文档是 API 文档;我无法将响应显示为文本。有什么建议吗?

0 投票
2 回答
1941 浏览

ruby-on-rails - 如何让 webrat / selenium “等待”页面的 CSS 加载?

当我在硒模式下使用 webrat 时visit,按预期快速返回。没问题。

我试图断言我的样式得到了正确应用(通过查看不同元素的背景图像)。我可以通过 JS 获取这些信息,但在我的测试期间似乎没有加载和/或应用样式表。

我看到您可以“等待”元素出现,但我不知道如何等待所有样式都被应用。我可以进行一般的延迟,但这似乎是内置的片状或缓慢,我试图避免这种情况。

显然,因为我知道我在寻找什么风格,所以我可以等待它们出现。我会写一个这样的助手,但我在想可能已经有一个我没见过的更通用的机制。

有没有一种简单的方法可以检测到页面真的真的“准备好了”?

0 投票
1 回答
5803 浏览

ruby-on-rails - Cucumber + Webrat + Selenium 指南

我一直在使用 Cucumber 和 Webrat 一段时间。我现在需要开始编写涉及 AJAX 交互的行为,所以我想为 Webrat 使用 Selenium 适配器。谁能指出一个简单且更新的分步指南,用于安装和配置 selenium+webrat+cucumber?我希望能够将 javascript 场景与非 javascript 场景混合使用。

0 投票
3 回答
6026 浏览

ruby-on-rails - 如何在 Cucumber 测试中模拟/存根模型

场景如下。My Order 模型有一个 after_create ,它与远程支付网关联系以检索支付 URL。在我的 Cucumber 测试中,我不想执行此操作,而是返回任意 URL。我目前的黄瓜测试如下所示:

鉴于有一个产品“产品 X”当我输入我的凭据并单击“立即订购”然后我应该被重定向到“任意 url”

问题是我在哪里/如何确保我的订单模型正确设置了 url 并且不联系远程支付网关?

0 投票
3 回答
302 浏览

ruby-on-rails - 如何为两个用户交互创建集成级别测试?

您将如何测试与 Cucumber/webrat 的多用户交互?

这意味着必须有多个用户登录。很好的例子是简单的聊天应用程序,我想从一个用户向另一个用户发送消息并检查另一个用户是否收到了消息。

我想在集成级别进行测试,没有任何存根或模拟。