{"id":1200,"date":"2012-01-07T14:00:57","date_gmt":"2012-01-07T12:00:57","guid":{"rendered":"http:\/\/blog.railsware.com\/?p=1200"},"modified":"2021-08-12T12:56:27","modified_gmt":"2021-08-12T09:56:27","slug":"accessing-application-session-in-capybara","status":"publish","type":"post","link":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/","title":{"rendered":"Accessing application session in Capybara"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Trouble<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are some cases when you may need to access application session in your tests:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>User signup or registration flow is too long.<\/li><li>Application use another backend and store result into session.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nowadays if you want to access session in cucumber\/capybara acceptance test you are in trouble.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Capybara&#8217; <a href=\"https:\/\/github.com\/jnicklas\/capybara\/blob\/master\/README.md\">README<\/a> says:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">  Access to session and request is not possible from the test ...\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And it&#8217;s true :)<br><\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Rescue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">So is it actually possible to access session? Actually yes :)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of trying to hack capybara you may just extend your application in test environment!<br>Just add some code that modify session according to given request parameters.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you use rack based application then your are lucky &#8211;<br>try <a href=\"https:\/\/github.com\/railsware\/rack_session_access\">rack_session_access<\/a> gem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If it&#8217;s another application you need implement concept yourself :)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This gem should work with any rack application. We covered it with acceptance testing against:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>rack builder application<\/li><li>sinatra application<\/li><li>rails3 application<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Usage<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">  $ gem install rack_session_access\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">See <a href=\"https:\/\/github.com\/railsware\/rack_session_access\/blob\/master\/README.md\">README<\/a> for usage examples.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Rails + Rspec + Capybara example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Add to <em>spec\/spec_helper.rb<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">require 'capybara\/rspec'\nrequire 'rack_session_access\/capybara'\n\nRails.application.config do\n  config.middleware.use RackSessionAccess::Middleware\nend\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And use <strong>set_rack_session<\/strong> helper in acceptance test:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">require 'spec_helper'\n\nfeature \"My feature\" do\n  background do\n    @user = Factory(:user)\n  end\n  scenario \"logged in user goes to profile page\" do\n    # read your authorization engine manual how it store user into session\n    page.set_rack_session(:user_id =&gt; @user.id)\n    page.visit '\/profile'\n    ...\n  end\nend\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Enjoy faster testing!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/jnicklas\/capybara\">capybara<\/a><\/li><li><a href=\"https:\/\/github.com\/railsware\/rack_session_access\">rack_session_access<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway&#8230;.<\/p>\n","protected":false},"author":19,"featured_media":9443,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[3],"tags":[],"coauthors":["Andriy Yanko"],"class_list":["post-1200","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway.\" \/>\n\t<meta name=\"robots\" content=\"max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Andriy Yanko\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"| Blog on Engineering, Product Management, Transparency, Culture and many more...\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Accessing application session in Capybara | Railsware Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2017\/12\/Capybara-with-Given.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2017\/12\/Capybara-with-Given.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"360\" \/>\n\t\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2012-01-07T12:00:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-08-12T09:56:27+00:00\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#article\",\"name\":\"Accessing application session in Capybara | Railsware Blog\",\"headline\":\"Accessing application session in Capybara\",\"author\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/ayanko\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/Capybara-with-Given.png\",\"width\":360,\"height\":360,\"caption\":\"Accessing application session in Capybara\"},\"datePublished\":\"2012-01-07T14:00:57+03:00\",\"dateModified\":\"2021-08-12T12:56:27+03:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#webpage\"},\"articleSection\":\"Engineering\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/railsware.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/#listItem\",\"name\":\"Engineering\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/#listItem\",\"position\":2,\"name\":\"Engineering\",\"item\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#listItem\",\"name\":\"Accessing application session in Capybara\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#listItem\",\"position\":3,\"name\":\"Accessing application session in Capybara\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/category\\\/development\\\/#listItem\",\"name\":\"Engineering\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#organization\",\"description\":\"Blog on Engineering, Product Management, Transparency, Culture and many more...\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Logo-circle.png\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#organizationLogo\",\"width\":3137,\"height\":1054,\"caption\":\"Railsware logo\"},\"image\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/ayanko\\\/#author\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/ayanko\\\/\",\"name\":\"Andriy Yanko\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#authorImage\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/andriy-yanko-96x96.jpg\",\"width\":96,\"height\":96,\"caption\":\"Andriy Yanko\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#webpage\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/\",\"name\":\"Accessing application session in Capybara | Railsware Blog\",\"description\":\"Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/ayanko\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/author\\\/ayanko\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/Capybara-with-Given.png\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#mainImage\",\"width\":360,\"height\":360,\"caption\":\"Accessing application session in Capybara\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/accessing-application-session-in-capybara\\\/#mainImage\"},\"datePublished\":\"2012-01-07T14:00:57+03:00\",\"dateModified\":\"2021-08-12T12:56:27+03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/railsware.com\\\/blog\\\/\",\"description\":\"Blog on Engineering, Product Management, Transparency, Culture and many more...\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/railsware.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Accessing application session in Capybara | Railsware Blog","description":"Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway.","canonical_url":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/","robots":"max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#article","name":"Accessing application session in Capybara | Railsware Blog","headline":"Accessing application session in Capybara","author":{"@id":"https:\/\/railsware.com\/blog\/author\/ayanko\/#author"},"publisher":{"@id":"https:\/\/railsware.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2017\/12\/Capybara-with-Given.png","width":360,"height":360,"caption":"Accessing application session in Capybara"},"datePublished":"2012-01-07T14:00:57+03:00","dateModified":"2021-08-12T12:56:27+03:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#webpage"},"isPartOf":{"@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#webpage"},"articleSection":"Engineering"},{"@type":"BreadcrumbList","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/railsware.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/category\/development\/#listItem","name":"Engineering"}},{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/category\/development\/#listItem","position":2,"name":"Engineering","item":"https:\/\/railsware.com\/blog\/category\/development\/","nextItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#listItem","name":"Accessing application session in Capybara"},"previousItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#listItem","position":3,"name":"Accessing application session in Capybara","previousItem":{"@type":"ListItem","@id":"https:\/\/railsware.com\/blog\/category\/development\/#listItem","name":"Engineering"}}]},{"@type":"Organization","@id":"https:\/\/railsware.com\/blog\/#organization","description":"Blog on Engineering, Product Management, Transparency, Culture and many more...","url":"https:\/\/railsware.com\/blog\/","logo":{"@type":"ImageObject","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2020\/11\/Logo-circle.png","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#organizationLogo","width":3137,"height":1054,"caption":"Railsware logo"},"image":{"@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/railsware.com\/blog\/author\/ayanko\/#author","url":"https:\/\/railsware.com\/blog\/author\/ayanko\/","name":"Andriy Yanko","image":{"@type":"ImageObject","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#authorImage","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2021\/06\/andriy-yanko-96x96.jpg","width":96,"height":96,"caption":"Andriy Yanko"}},{"@type":"WebPage","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#webpage","url":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/","name":"Accessing application session in Capybara | Railsware Blog","description":"Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/railsware.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#breadcrumblist"},"author":{"@id":"https:\/\/railsware.com\/blog\/author\/ayanko\/#author"},"creator":{"@id":"https:\/\/railsware.com\/blog\/author\/ayanko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2017\/12\/Capybara-with-Given.png","@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#mainImage","width":360,"height":360,"caption":"Accessing application session in Capybara"},"primaryImageOfPage":{"@id":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/#mainImage"},"datePublished":"2012-01-07T14:00:57+03:00","dateModified":"2021-08-12T12:56:27+03:00"},{"@type":"WebSite","@id":"https:\/\/railsware.com\/blog\/#website","url":"https:\/\/railsware.com\/blog\/","description":"Blog on Engineering, Product Management, Transparency, Culture and many more...","inLanguage":"en-US","publisher":{"@id":"https:\/\/railsware.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"| Blog on Engineering, Product Management, Transparency, Culture and many more...","og:type":"article","og:title":"Accessing application session in Capybara | Railsware Blog","og:description":"Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it does not speed-up tests anyway.","og:url":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/","og:image":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2017\/12\/Capybara-with-Given.png","og:image:secure_url":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2017\/12\/Capybara-with-Given.png","og:image:width":360,"og:image:height":360,"article:published_time":"2012-01-07T12:00:57+00:00","article:modified_time":"2021-08-12T09:56:27+00:00"},"aioseo_meta_data":{"post_id":"1200","title":null,"description":null,"keywords":[],"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":{"id":"aioseo-article-6385f5b013159","slug":"article","graphName":"Article","label":"Article","properties":{"type":"BlogPosting","name":"#post_title","headline":"#post_title","description":"#post_excerpt","image":"","keywords":"","author":{"name":"#author_name","url":"#author_url"},"dates":{"include":true,"datePublished":"","dateModified":""}}},"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"}}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":{"locations":{"business":{"name":"","businessType":"","image":"","areaServed":"","urls":{"website":"","aboutPage":"","contactPage":""},"address":{"streetLine1":"","streetLine2":"","zipCode":"","city":"","state":"","country":"","addressFormat":"#streetLineOne\n#streetLineTwo\n#city, #state #zipCode"},"contact":{"email":"","phone":"","phoneFormatted":"","fax":"","faxFormatted":""},"ids":{"vat":"","tax":"","chamberOfCommerce":""},"payment":{"priceRange":"","currenciesAccepted":"","methods":""}}},"openingHours":{"useDefaults":true,"show":true,"alwaysOpen":false,"use24hFormat":false,"timezone":"","labels":{"closed":"","alwaysOpen":""},"days":{"monday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"tuesday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"wednesday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"thursday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"friday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"saturday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"sunday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"}}}},"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-01-04 12:44:08","updated":"2025-09-26 11:13:39","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/railsware.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/railsware.com\/blog\/category\/development\/\" title=\"Engineering\">Engineering<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAccessing application session in Capybara\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/railsware.com\/blog"},{"label":"Engineering","link":"https:\/\/railsware.com\/blog\/category\/development\/"},{"label":"Accessing application session in Capybara","link":"https:\/\/railsware.com\/blog\/accessing-application-session-in-capybara\/"}],"categories_data":[{"name":"Engineering","link":"https:\/\/railsware.com\/blog?category=development"}],"post_thumbnails":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2017\/12\/Capybara-with-Given.png","article_background":"","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/1200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/comments?post=1200"}],"version-history":[{"count":16,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/1200\/revisions"}],"predecessor-version":[{"id":13954,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/1200\/revisions\/13954"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/media\/9443"}],"wp:attachment":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/media?parent=1200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/categories?post=1200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/tags?post=1200"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/coauthors?post=1200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}