問題タブ [page-object-gem]

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 投票する
1 に答える
342 参照

ruby - fieldset 内の select_list へのアクセス中に pageobject で SyntaxError が発生しました

Cheezy の pageobject を使用して、フィールドセット内の select_list にアクセスしようとしています。

html の合計は投稿するには長すぎます (フィールドセットだけで 200 行をはるかに超えます) が、すべての id などを含む行を提供できます。

フィールドセット:

選択リスト:

私が使用しようとしているページオブジェクトの行:

きゅうりのテストを実行しようとすると、次のエラーが表示されます。

このエラーは、次の行で select_list を設定しようとすると発生します。

この行は他のページでも機能するため、これが問題の一部ではないことは確かです。pageobject 行の単純な構文だと思いますが、私がしようとしているように pageobject を使用するためのドキュメントが見つかりません。私が見つけることができる唯一の参照は、私が尋ねた以前の質問の中にあります: Accessing a table within a table (Watir/PageObject)

誰かが私が間違ったことを教えてもらえますか?

よろしくお願いいたします。

更新:問題を再現する例:

次の html を含むページがあるとします。

そして、次のように定義されたページ オブジェクト:

次のコードを実行します。

次の例外を生成します。

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

ruby - 連続する JavaScript ポップアップ - 2 回目の確認

ページ オブジェクトの gem は、2 つのポップアップを続けて確認することをサポートしていますか? つまり、チーズが好きかどうかを尋ねるポップアップがあるとします。ユーザーが [はい] を選択すると、[OK] ボタンを含む、"あなたは「はい」と答えようとしています" という別のポップアップが表示されます。

このようなことをする方法はありますか:

残念ながら、これは私のアプリケーションではうまくいきませんでした。代わりに、2 番目のポップアップを selenium-webdriver で直接処理してみました。それにもかかわらず、呼び出す@browser.switch_to.alertと、「Javascript モーダル ダイアログが開いていません」という NoAlertPresentError がスローされます。誰でもこのようなことに遭遇しますか?

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

selenium-webdriver - 要素がページ オブジェクトの DOM に関連付けられなくなった場合の処理​​方法

ページ オブジェクトを使用して Web サイトをテストしようとしています。スクリプトを実行しているときに、Element is no longer attached to the DOM (Selenium::WebDriver::Error::StaleElementReferenceError)エラー メッセージが断続的に表示されます。機能。

この問題を解決するにはどうすればよいですか?何か提案があれば教えてください。

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

page-object-gem - page-object を含めてテストを実行しようとすると構文エラーが発生する

最近、page-object gem を入手しましたが、この gem が含まれていると (Cucumber/Selenium に基づく) テストを実行できませんでした。

gem リストによると、gem がインストールされています。

私のenv.rbファイルには以下が含まれます:

ただし、テストを実行しようとすると、次のエラーが表示されます。

/Library/Ruby/Gems/1.8/gems/page-object-0.9.1/lib/page-object/widgets.rb:32: 構文エラー、予期しない「=」、「|」が必要です ...dget_tag do |name, identifier={:index => 0}, &block| ^ /Library/Ruby/Gems/1.8/gems/page-object-0.9.1/lib/page-object/widgets.rb:32: 構文エラー、予期しない ','、kEND を期待しています ...ame、identifier={ :index => 0}, &block| ^ /Library/Ruby/Gems/1.8/gems/page-object-0.9.1/lib/page-object/widgets.rb:122: 構文エラー、予期しない kEND、$end が必要 (SyntaxError) /Library/Ruby/Site /1.8/rubygems/core_ext/kernel_require.rb:51:require gem_original_require' /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:51:in' /ライブラリ/Ruby/Gems/1.8/gems/page-object-0.9.1/lib/page-object.rb:10 />ライブラリ/Ruby/サイト/1.8/rubygems/core_ext/kernel_require.rb:116:ingem_original_require' />Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:116:inrequire' /Users/garethbragg/dev/trade-finder/test/cucumber/features/support/env.rb:6 /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/ cucumber/rb_support/rb_language.rb:122:in load' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/rb_support/rb_language.rb:122:inload_code_file' load_file' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:83:in/Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:180:load_files! ' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:82:in each' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:82:inload_files!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime.rb:183 load_step_definitions' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime.rb:42:in:実行中!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/cli/main.rb:47:in execute!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/cucumber:13 /usr/bin/cucumber:23:inload' /usr/bin/cucumber:23

クラスのいずれかに PageObject を含めると、次のようになります。

初期化されていない定数 Home::PageObject (NameError) ./lib/Home.rb:4 /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:51:require gem_original_require' /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require.rb:51:in' /Users/garethbragg/dev/trade-finder /test/cucumber/features/support/env.rb:2 /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/rb_support/rb_language.rb:122:in load' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/rb_support/rb_language.rb:122:inload_code_file ' load_file' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:83:in/Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:180:in load_files!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:82:in each' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:82:inload_files!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime.rb:183 load_step_definitions' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime.rb:42:in:実行中!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/cli/main.rb:47:in execute!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/cucumber:13 /usr/bin/cucumber:23:inload' /usr/bin/cucumber:23

任意の提案をいただければ幸いです。

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

ruby - page-objectを使用してRubyでモーダルを自動的に確認するにはどうすればよいですか?

削除リンクのある標準の Rails アプリケーションがあります。この削除リンクは、ブラウザー ポップアップ モーダル (railsconfirmオプションを使用) で表示されます。

現在、Cucumber、Selenium-Webdriver (または Watir-Webdriver、まだ決定していません)、および page-object gem を使用して削除機能をテストしようとしています。

モーダルがトリガーされると、ページで何をしても次のエラーが発生します。

いろいろ調べてみましたが、この状態を処理する方法が見つかりません。PageFactory可能であれば、page-object gemのモジュールを引き続き使用したいと考えています。

モーダルを却下/受け入れるにはどうすればよいですか?

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

ruby - モジュールからクラスページオブジェクトにアクセスするときの未定義のメソッドエラー

で定義されているクラス メソッドにアクセスしようとしてModuleいます。関数を呼び出すことはできますが、関数にはクリックなどの操作を実行するページ オブジェクト要素があります。次のエラーが発生します。

これが私のファイル構造です:

./lib/calender_util.rb:

./home_page.rb:

の部分env.rb:

加えて; include/require を複数回定義しましたが、これが解決したら離陸します。