Created
May 30, 2020 21:28
-
-
Save twalpole/6a886efd78fe0e6fcc3e3d6cd7c4ca4d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'bundler/inline' | |
gemfile do | |
source 'https://rubygems.org' | |
gem 'capybara' | |
gem 'puma' | |
gem 'selenium-webdriver' | |
gem 'webdrivers' | |
gem 'byebug' | |
end | |
require 'selenium-webdriver' | |
require "capybara/dsl" | |
html = DATA.read | |
app = proc { |env| [200, { "Content-Type" => "text/html" }, [html] ] } | |
%i[selenium_chrome selenium_chrome_headless].each do |driver| | |
puts "Using #{driver}" | |
sess = Capybara::Session.new(driver, app) | |
sess.visit('/') | |
sleep 3 # just to make sure page is loaded | |
frame0 = sess.all('.panel#marketing iframe')[0] | |
sess.within_frame(frame0) do | |
sess.find('.content_editable').send_keys('foo_bio') | |
end | |
frame1 = sess.all('.panel#marketing iframe')[1] | |
sess.within_frame(frame1) do | |
sess.find('.content_editable').send_keys('foo_short_bio') | |
end | |
sess.within_frame(frame0) do | |
sess.assert_text sess.find('.content_editable'), 'foo_bio', exact: true | |
end | |
sess.within_frame(frame1) do | |
sess.assert_text sess.find('.content_editable'), 'foo_short_bio', exact: true | |
end | |
end | |
__END__ | |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<title>Hello!</title> | |
<meta charset="utf-8"> | |
</head> | |
<body> | |
<div id="marketing" class="panel"> | |
<iframe srcdoc=' | |
<html> | |
<body> | |
<div class="content_editable" contenteditable=true style="height: 100px"> | |
</div> | |
</body> | |
</html>'></iframe> | |
<iframe srcdoc=' | |
<html> | |
<body> | |
<div class="content_editable" contenteditable=true style="height: 100px"> | |
</div> | |
</body> | |
</html>'></iframe> | |
</div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment