問題タブ [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 をインストール
し、/opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include でiconv.h をチェックする webrat をインストールします。 /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 をチェックします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/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... はい
、-lxml2 で xmlParseDoc() をチェックしています。 . はい
-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 を使用したファイルのアップロード

Railsプロジェクトをテストするために、WebratとCucumberでselenium-client gemを使用しています。ここで説明されているように、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 - キュウリや Webrat は嫌いですか?

 がレイアウトに追加されたときに最近失敗し始めたキュウリのステップがあります。取り出せば 、私のテストはすべてパスします。戻すと、WebRat が提供する click_link メソッドを使用するすべてのテストが失敗し、次のメッセージが表示されます。

誰か提案はありますか?

0 投票する
11 に答える
17503 参照

ruby-on-rails - キュウリの物語を持つセッション変数

私はいくつかのステップがある「サインアップ」アプリケーションのためにいくつかのキュウリの物語に取り組んでいます。

それから、すべてのステップを一度にカバーするためにHuuuuuuugeストーリーを書くのではなく、それは悪いことですが、私は通常のユーザーのようにコントローラーの各アクションを実行したいと思います。ここでの私の問題は、最初のステップで作成されたアカウントIDをセッション変数として保存しているため、ステップ2、ステップ3などにアクセスすると、既存の登録データが読み込まれることです。

controller.session[..]RSpec仕様内でアクセスできることは知っていますが、Cucumberストーリーでこれを実行しようとすると、次のエラーで失敗します(また、これはアンチパターンなどです...):

controller.session [:whatever]またはsession [:whatever]を使用する

session(:whatever)を使用する

したがって、セッションストアへのアクセスは実際には不可能のようです。私が疑問に思っているのは、それが可能かどうかです(そして、どちらが最善かと思います..):

  1. セッションストアなどをモックアウトする
  2. コントローラ内にメソッドを持ち、それをスタブします(たとえばget_registration、インスタンス変数を割り当てます...)

私はRSpecの本を(よく、スキミングして)調べ、WebRatなどを調べましたが、私の問題に対する答えは実際には見つかりませんでした...

もう少し明確にするために、サインアッププロセスはステートマシンのようなものです-たとえば、ユーザーは登録が完了する前に4つのステップを進めます-したがって、「ログイン」は実際にはオプションではありません(サイトの動作モデルを壊します) )..。

コントローラーの仕様では、セッション変数に基づいてモデルをロードするメソッドの呼び出しをスタブ化することができましたが、「アンチパターン」行がモックだけでなくスタブにも適用されるかどうかはわかりませんか?

ありがとう!

0 投票する
2 に答える
722 参照

ajax - MerbとWebratでAJAXリクエストをテストする方法は?

私はrspecとwebratでmerbを使用しています。rjsテンプレートが正常にレンダリングされたことを確認するにはどうすればよいですか?ajaxのためにhave_xpathを書くことはできません。

0 投票する
2 に答える
923 参照

rspec - cucumber + webrat: 2 回表示されるテキストのチェック

BDDとテスト全般を独学するためのレールアプリに取り組んでいます。cucumber + webrat + rspec を使用して、railcasts ビデオ tuts の後。このアプリでは、クイズ has_many の質問があります。私がテストしているビューは、質問を2回、非連続的にレンダリングする必要があります。(ここでは連続性をテストしていません)これを確認することを目的としたキュウリのシナリオがあります

私のステップは次のように定義されています。

ツールで正規表現をテストしたところ、動作しているように見えますが、テストはキュウリで失敗します。
私はいくつかのドキュメントをグーグルで検索しましたが、webrat の唯一のドキュメントは API ドキュメントです。応答をテキストとして表示できませんでした。なにか提案を?

0 投票する
2 に答える
1941 参照

ruby-on-rails - webrat / seleniumにページのCSSがロードされるのを「待機」させるにはどうすればよいですか?

webratをセレンモードで使用するとvisit、期待どおりにすばやく戻ります。問題ありません。

私は自分のスタイルが正しく適用されていることを主張しようとしています(さまざまな要素の背景画像を見て)。JSを介してこの情報を取得できますが、テスト中にスタイルシートがロードされていないか、適用されていないようです。

要素が表示されるのを「待つ」ことはできますが、すべてのスタイルが適用されるのを待つ方法がわかりません。私は一般的な遅延を入れることができますが、それは私が避けようとしている組み込みのフレークまたはスローネスのようです。

もちろん、探しているスタイルがわかっているので、それらが表示されるのを待つことができます。そのようなヘルパーを書きますが、私が見たことのない、より一般的なメカニズムがすでに存在しているのではないかと考えていました。

ページが本当に「準備ができている」ことを検出する簡単な方法はありますか?

0 投票する
1 に答える
5803 参照

ruby-on-rails - きゅうり+Webrat+セレンガイド

キュウリとウェブラットをしばらく使っています。AJAXインタラクションを含む動作を書き始める必要があるので、Webrat用のSeleniumアダプターを使用することを考えていました。セレン+ウェブラット+キュウリをインストールして構成するための簡単で更新されたステップバイステップガイドを誰かが指摘できますか?javascriptシナリオと非javascriptシナリオを混在させたいです。

0 投票する
3 に答える
6026 参照

ruby-on-rails - キュウリテストでモデルをモック/スタブする方法

シナリオは次のとおりです。私の注文モデルには、支払いURLを取得するためにリモート支払いゲートウェイに接続するafter_createがあります。私のCucumberテストでは、このアクションを実行したくありませんが、任意のURLを返します。私の現在のキュウリのテストは次のようになります。

製品「ProductX」がある場合、資格情報を入力して「今すぐ注文」をクリックすると、「任意のURL」にリダイレクトされます。

問題は、注文モデルがURLを正しく設定し、リモート支払いゲートウェイに接続しないことをどこで/どのように確認するかです。

0 投票する
3 に答える
302 参照

ruby-on-rails - 2 ユーザー インタラクションの統合レベル テストを作成するには?

Cucumber/webrat とのマルチ ユーザー インタラクションをどのようにテストしますか?

つまり、複数のユーザーがログインしている必要があります。良い例は、あるユーザーから別のユーザーにメッセージを送信し、他のユーザーがメッセージを受信したかどうかを確認する単純なチャット アプリケーションです。

スタブやモックなしで、統合レベルでテストしたいと思います。