したがって、CapybaraとRSpecを使用した統合テストに関して、私はこれを実行できることを知っています。
page.driver.browser.manage.window.resize_to(x,y)
per Rspec(Selenium)でブラウザウィンドウのサイズを設定する方法 特定のRSpecテストに対してこれをグローバルに行う方法があるため、メディアクエリの影響を受けるすべてのテストでこれを定義する必要はありません?
before(:all)
で定義できます
describe "Test" do
before(:all) do
...
...
page.driver.browser.manage.window.resize_to(x,y) #Mention it here
end
it "should find everything" do
...
end
after(:all) do
...
end
end
すべてのjsテストに対してそれを行う適切な方法は、_spec_helper.rb
_ _RSpec.configure
_ブロック内に以下を追加することです
_config.before(:each, js: true) do
Capybara.page.driver.browser.manage.window.maximize
end
_
ウィンドウを最大化します。ウィンドウサイズを設定するには、resize_to(x,y)
に変更します。
[〜#〜] edit [〜#〜]:ポルターガイストを使用している場合の正しい方法は
_config.before(:each, js: true) do
Capybara.page.driver.browser.resize(x,y)
end
_
おそらく、カピバラの最近の変更が原因で、私にとってうまくいったのは:
before do
Capybara.page.current_window.resize_to(x, y)
end
Capybara 2.2.4バージョンのテストランタイムの場合、次のようにしてこれを実現できます。
before do
handle = Capybara.page.driver.current_window_handle
Capybara.page.driver.resize_window_to(handle, height, width)
end
または
before do
Capybara.page.current_window.resize_to(height, width)
end
Capybara :: NotSupportedByDriverError:Capybara :: Driver :: Base#current_window_handleが表示される場合は、使用例のドライバーを変更する必要がありますJAVASCRIPTドライバー!
before do
Capybara.page.current_window.resize_to(height, width)
end
scenario js: true do
# your test here
end
@tirdadc Poltergeistを使用している場合は、Rails_helper.rb
ファイルに次のようなものを追加できます。
Capybara.register_driver :poltergeist do |app|
options = {
# js_errors: true,
# cookies: true,
window_size: [320, 568] # iphone 5
}
Capybara::Poltergeist::Driver.new(app, options)
end