問題タブ [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.
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 を含むページがあるとします。
そして、次のように定義されたページ オブジェクト:
次のコードを実行します。
次の例外を生成します。
ruby - 連続する JavaScript ポップアップ - 2 回目の確認
ページ オブジェクトの gem は、2 つのポップアップを続けて確認することをサポートしていますか? つまり、チーズが好きかどうかを尋ねるポップアップがあるとします。ユーザーが [はい] を選択すると、[OK] ボタンを含む、"あなたは「はい」と答えようとしています" という別のポップアップが表示されます。
このようなことをする方法はありますか:
残念ながら、これは私のアプリケーションではうまくいきませんでした。代わりに、2 番目のポップアップを selenium-webdriver で直接処理してみました。それにもかかわらず、呼び出す@browser.switch_to.alert
と、「Javascript モーダル ダイアログが開いていません」という NoAlertPresentError がスローされます。誰でもこのようなことに遭遇しますか?
selenium-webdriver - 要素がページ オブジェクトの DOM に関連付けられなくなった場合の処理方法
ページ オブジェクトを使用して Web サイトをテストしようとしています。スクリプトを実行しているときに、Element is no longer attached to the DOM (Selenium::WebDriver::Error::StaleElementReferenceError)エラー メッセージが断続的に表示されます。機能。
この問題を解決するにはどうすればよいですか?何か提案があれば教えてください。
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:in
require' /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:inload' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/rb_support/rb_language.rb:122:in
load_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:ineach' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:82:in
load_files!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime.rb:183load_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:inexecute!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/cucumber:13 /usr/bin/cucumber:23:in
load' /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:inload' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/rb_support/rb_language.rb:122:in
load_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:ineach' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime/support_code.rb:82:in
load_files!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/../lib/cucumber/runtime.rb:183load_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:inexecute!' /Library/Ruby/Gems/1.8/gems/cucumber-1.3.5/bin/cucumber:13 /usr/bin/cucumber:23:in
load' /usr/bin/cucumber:23
任意の提案をいただければ幸いです。
ruby - page-objectを使用してRubyでモーダルを自動的に確認するにはどうすればよいですか?
削除リンクのある標準の Rails アプリケーションがあります。この削除リンクは、ブラウザー ポップアップ モーダル (railsconfirm
オプションを使用) で表示されます。
現在、Cucumber、Selenium-Webdriver (または Watir-Webdriver、まだ決定していません)、および page-object gem を使用して削除機能をテストしようとしています。
モーダルがトリガーされると、ページで何をしても次のエラーが発生します。
いろいろ調べてみましたが、この状態を処理する方法が見つかりません。PageFactory
可能であれば、page-object gemのモジュールを引き続き使用したいと考えています。
モーダルを却下/受け入れるにはどうすればよいですか?
ruby - モジュールからクラスページオブジェクトにアクセスするときの未定義のメソッドエラー
で定義されているクラス メソッドにアクセスしようとしてModule
います。関数を呼び出すことはできますが、関数にはクリックなどの操作を実行するページ オブジェクト要素があります。次のエラーが発生します。
これが私のファイル構造です:
./lib/calender_util.rb
:
./home_page.rb
:
の部分env.rb
:
加えて; include/require を複数回定義しましたが、これが解決したら離陸します。