{"id":2650,"date":"2016-08-15T11:00:10","date_gmt":"2016-08-15T10:00:10","guid":{"rendered":"http:\/\/www.diogonunes.com\/blog\/?p=2650"},"modified":"2020-05-15T14:23:23","modified_gmt":"2020-05-15T13:23:23","slug":"browserstack-cross-browser-testing-review","status":"publish","type":"post","link":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/","title":{"rendered":"Cross-browser testing with BrowserStack: a review"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?resize=580%2C191\" alt=\"browserstack-logo\" width=\"580\" height=\"191\" class=\"aligncenter size-full wp-image-2657\" srcset=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?resize=400%2C132&amp;ssl=1 400w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?resize=768%2C253&amp;ssl=1 768w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/>These are BrowserStack&#8217;s main services or tools:<\/p>\n<ul>\n<li><strong>Automate<\/strong>: Where you run your automated Selenium tests and check the results.<\/li>\n<li><strong>Screenshots<\/strong>: Paste an URL, select the browsers and version you want, and in a few minutes you get a batch of screenshots.<\/li>\n<li><strong>Live<\/strong>: by connecting to their data center you are able to do exploratory testing of your web app on the environment you need without having to worry about virtual machines.<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p>Recently I had the requirement to test the behavior of a web application on Chrome, Firefox&#8230; and the dreaded Internet Explorer. The team already had automated end-to-end test written in Java using Selenium web driver.<\/p>\n<p>We decided to explore the world of automated cross-browser testing and we were recommended BrowserStack and SauceLabs. Both have trial periods, though <a href=\"https:\/\/www.browserstack.com\/\">BrowserStack<\/a> is cheaper and it seemed simpler to me. So a few minutes after signing up for the trial, I get an email from their support asking if I needed any help setting up my integration with BrowserStack. I must say their support is five stars.<\/p>\n<h2>How Automate works<\/h2>\n<p>On your code you replace your <code>WebDriver<\/code> with a <code>RemoteWebDriver<\/code>. That way, when you run your tests, BrowserStack&#8217;s remote browser is listening for events and executing the same tests.<\/p>\n<p>You are not forced to publicly expose your web app since they allow you to test locally. You just need to change a flag on the <code>RemoteWebDriver<\/code>&#8216;s capabilities and have <a href=\"https:\/\/www.browserstack.com\/local-testing#command-line\">their executable<\/a> running on your local machine, which maintains a secure connection with their data center. All this is explained on their <a href=\"https:\/\/www.browserstack.com\/automate\/java\">documentation<\/a>, which is clear and contains several examples.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/06\/browserstack-automate-example.png?resize=580%2C401\" alt=\"browserstack-automate-example\" width=\"580\" height=\"401\" class=\"aligncenter size-full wp-image-2584\" srcset=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/06\/browserstack-automate-example.png?w=842&amp;ssl=1 842w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/06\/browserstack-automate-example.png?resize=400%2C276&amp;ssl=1 400w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/06\/browserstack-automate-example.png?resize=768%2C531&amp;ssl=1 768w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/p>\n<h2>And how it doesn&#8217;t work<\/h2>\n<p>In the end, we gave up on BrowserStack and automated cross-browser testing for a number of reasons:<\/p>\n<ul>\n<li>We were spending more time on setting up the automation than the time required to manually run the tests until the end of the project (about 35 days). That time could be used more effectively on exploratory testing and developing new end-to-end tests.<\/li>\n<li><strong>Remote tests failing locally but not on BrowserStack.<\/strong> Remember when I said the tests run both locally and on their remote browser? Now listen to this: when a test fails locally it doesn&#8217;t (necessarily) fail remotely. I explicitly created an assert that would always fails like <code>assertThat(true, is(false))<\/code> and it would fail locally and pass remotely. Weird! I had to use an <a href=\"http:\/\/stackoverflow.com\/a\/35102092\/675577\">API workaround to mark tests as failed<\/a>, but the point is: I want to use the Automate service to discover failing asserts and broken tests, if it passes on BrowserStack&#8217;s side then I question what&#8217;s really being tested by Automate&#8230;<\/li>\n<li><strong>Failed integration with Jenkins.<\/strong> I installed their Jenkins plugin and the environment variables were correctly configured. The builds were running successfully, however Automate was not being hit and I couldn&#8217;t figure out why. I even manually started their <code>BrowserStackLocal.exe<\/code> to no avail.<\/li>\n<li><strong>Failed configuration of Jenkins reports.<\/strong> Their plugin&#8217;s installation pdf contained some Maven code snippets but our team use Gradle, so dead end right there. I tried to configure the post-build action as the pdf instructed but I had issues with the reports path.<\/li>\n<\/ul>\n<h2>YMMV<\/h2>\n<p>If you want to have a go with it, you can <a href=\"http:\/\/www.diogonunes.com\/blog\/how-to-use-browserstack-cross-browser-testing\">check this post<\/a> for a real code example.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>These are BrowserStack&#8217;s main services or tools: Automate: Where you run your automated Selenium tests and check the results. Screenshots: Paste an URL, select the browsers and version you want, and in a few minutes you get a batch of screenshots. Live: by connecting to their data center you are able to do exploratory testing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2657,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2],"tags":[22,55],"class_list":["post-2650","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-review","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cross-browser testing with BrowserStack: a review - The Geeky Gecko<\/title>\n<meta name=\"description\" content=\"I had to test a web app on Chrome, Firefox and IE and I already had the tests in Java using Selenium web driver. So I tried BrowserStack... be careful.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cross-browser testing with BrowserStack: a review - The Geeky Gecko\" \/>\n<meta property=\"og:description\" content=\"I had to test a web app on Chrome, Firefox and IE and I already had the tests in Java using Selenium web driver. So I tried BrowserStack... be careful.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/\" \/>\n<meta property=\"og:site_name\" content=\"The Geeky Gecko\" \/>\n<meta property=\"article:published_time\" content=\"2016-08-15T10:00:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-15T13:23:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"337\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Diogo Nunes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:site\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diogo Nunes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/\"},\"author\":{\"name\":\"Diogo Nunes\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"headline\":\"Cross-browser testing with BrowserStack: a review\",\"datePublished\":\"2016-08-15T10:00:10+00:00\",\"dateModified\":\"2020-05-15T13:23:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/\"},\"wordCount\":546,\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1\",\"keywords\":[\"review\",\"testing\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/\",\"name\":\"Cross-browser testing with BrowserStack: a review - The Geeky Gecko\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1\",\"datePublished\":\"2016-08-15T10:00:10+00:00\",\"dateModified\":\"2020-05-15T13:23:23+00:00\",\"description\":\"I had to test a web app on Chrome, Firefox and IE and I already had the tests in Java using Selenium web driver. So I tried BrowserStack... be careful.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1\",\"width\":1024,\"height\":337,\"caption\":\"browserstack-logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.diogonunes.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cross-browser testing with BrowserStack: a review\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/\",\"name\":\"The Geeky Gecko\",\"description\":\"The Geeky Gecko\",\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\",\"name\":\"Diogo Nunes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"width\":799,\"height\":799,\"caption\":\"Diogo Nunes\"},\"logo\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/www.diogonunes.com\",\"https:\/\/x.com\/dialexnunes\"],\"url\":\"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cross-browser testing with BrowserStack: a review - The Geeky Gecko","description":"I had to test a web app on Chrome, Firefox and IE and I already had the tests in Java using Selenium web driver. So I tried BrowserStack... be careful.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/","og_locale":"en_US","og_type":"article","og_title":"Cross-browser testing with BrowserStack: a review - The Geeky Gecko","og_description":"I had to test a web app on Chrome, Firefox and IE and I already had the tests in Java using Selenium web driver. So I tried BrowserStack... be careful.","og_url":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/","og_site_name":"The Geeky Gecko","article_published_time":"2016-08-15T10:00:10+00:00","article_modified_time":"2020-05-15T13:23:23+00:00","og_image":[{"width":1024,"height":337,"url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1","type":"image\/png"}],"author":"Diogo Nunes","twitter_card":"summary_large_image","twitter_creator":"@dialexnunes","twitter_site":"@dialexnunes","twitter_misc":{"Written by":"Diogo Nunes","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#article","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/"},"author":{"name":"Diogo Nunes","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"headline":"Cross-browser testing with BrowserStack: a review","datePublished":"2016-08-15T10:00:10+00:00","dateModified":"2020-05-15T13:23:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/"},"wordCount":546,"publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1","keywords":["review","testing"],"articleSection":["Technology"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/","url":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/","name":"Cross-browser testing with BrowserStack: a review - The Geeky Gecko","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1","datePublished":"2016-08-15T10:00:10+00:00","dateModified":"2020-05-15T13:23:23+00:00","description":"I had to test a web app on Chrome, Firefox and IE and I already had the tests in Java using Selenium web driver. So I tried BrowserStack... be careful.","breadcrumb":{"@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#primaryimage","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1","width":1024,"height":337,"caption":"browserstack-logo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.diogonunes.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cross-browser testing with BrowserStack: a review"}]},{"@type":"WebSite","@id":"https:\/\/www.diogonunes.com\/blog\/#website","url":"https:\/\/www.diogonunes.com\/blog\/","name":"The Geeky Gecko","description":"The Geeky Gecko","publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c","name":"Diogo Nunes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","width":799,"height":799,"caption":"Diogo Nunes"},"logo":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.diogonunes.com","https:\/\/x.com\/dialexnunes"],"url":"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1","jetpack-related-posts":[{"id":2574,"url":"https:\/\/www.diogonunes.com\/blog\/how-to-use-browserstack-cross-browser-testing\/","url_meta":{"origin":2650,"position":0},"title":"Testing for cross-browser compatibility using BrowserStack","author":"Diogo Nunes","date":"12 September, 2016","format":false,"excerpt":"Learn how to do it with this example Recalling my BrowserStack review, their main tools are: Automate: Where you run your automated Selenium tests and check the results. Screenshots: Paste an URL, select the browsers and version you want, and in a few minutes you get a batch of screenshots.\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2566,"url":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/","url_meta":{"origin":2650,"position":1},"title":"Before doing cross-browser testing ask yourself: are you TuTTu?","author":"Diogo Nunes","date":"18 July, 2016","format":false,"excerpt":"Recently I had the requirement to test the behavior of a web application on Chrome, Firefox... and the dreaded Internet Explorer. The team already had automated end-to-end test written in Java using Selenium web driver. We decided to explore the world of automated cross-browser testing and we were recommended BrowserStack\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1200%2C646&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1200%2C646&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1200%2C646&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1200%2C646&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1200%2C646&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4204,"url":"https:\/\/www.diogonunes.com\/blog\/framework-review-playwright\/","url_meta":{"origin":2650,"position":2},"title":"Framework review: Playwright","author":"Diogo Nunes","date":"29 March, 2021","format":false,"excerpt":"Playwright enables end-to-end testing. Test modern single page apps, across all modern browsers, using in your preferred language (JS, TS, Java, C#, Python). \u2014 Official website Code Example of automation at GitHub. Use cases \ud83e\udd48 Automate end-to-end (E2E) tests using the UI. It also supports mocks. Learning curve \ud83e\udd48 Most\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/03\/fatih-kilic-m1dM7ZXvdMs-unsplash.jpg?fit=1200%2C773&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/03\/fatih-kilic-m1dM7ZXvdMs-unsplash.jpg?fit=1200%2C773&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/03\/fatih-kilic-m1dM7ZXvdMs-unsplash.jpg?fit=1200%2C773&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/03\/fatih-kilic-m1dM7ZXvdMs-unsplash.jpg?fit=1200%2C773&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/03\/fatih-kilic-m1dM7ZXvdMs-unsplash.jpg?fit=1200%2C773&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4756,"url":"https:\/\/www.diogonunes.com\/blog\/types-2-test-categories-approaches-types\/","url_meta":{"origin":2650,"position":3},"title":"Test categories and approaches (Types #2)","author":"Diogo Nunes","date":"16 October, 2023","format":false,"excerpt":"\ud83c\udfc6 This post was featured in Software Testing Weekly #191 This is a very long post. You don't have to read it all in one go. Use it as a reference, anytime you want to check the purpose of a particular test type. Categories Functional testing Non-functional testing Black box\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"lego pieces","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2536,"url":"https:\/\/www.diogonunes.com\/blog\/four-testing-quadrants\/","url_meta":{"origin":2650,"position":4},"title":"Testing for agile teams: The four testing quadrants (#3)","author":"Diogo Nunes","date":"16 January, 2017","format":false,"excerpt":"This post is part of the \"Testing for Agile Teams\" series. We do different types of testing to accomplish different goals. Your team has its own unique context. It's a tool, not a rule. Tests that support the team Supports the team as it develops the product: Drives development to\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/03\/Agile-Testing-Book-Part-4.jpg?fit=489%2C340&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":4307,"url":"https:\/\/www.diogonunes.com\/blog\/ama-e2e-tests\/","url_meta":{"origin":2650,"position":5},"title":"7 questions we all had about end-to-end tests","author":"Diogo Nunes","date":"4 October, 2021","format":false,"excerpt":"The summary of an Ask Me Anything session I hosted at my company \ud83c\udfc6 This post was featured in Software Testing Weekly, #92 and Software Testing Notes, #28 What\u2019s the definition of E2E in frontend? I don't think there's a definition specific to frontend (BE). An end-to-end test interacts with\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/09\/Knowledge-Sharing-E2E-tests-1.jpg?fit=960%2C540&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/09\/Knowledge-Sharing-E2E-tests-1.jpg?fit=960%2C540&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/09\/Knowledge-Sharing-E2E-tests-1.jpg?fit=960%2C540&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/09\/Knowledge-Sharing-E2E-tests-1.jpg?fit=960%2C540&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/comments?post=2650"}],"version-history":[{"count":1,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2650\/revisions"}],"predecessor-version":[{"id":3795,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2650\/revisions\/3795"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media\/2657"}],"wp:attachment":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media?parent=2650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/categories?post=2650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/tags?post=2650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}