<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Technical on Selenium</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/categories/technical/</link><description>Recent content in Technical on Selenium</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 05 Apr 2024 05:24:49 -0500</lastBuildDate><atom:link href="https://deploy-preview-2575--selenium-dev.netlify.app/categories/technical/index.xml" rel="self" type="application/rss+xml"/><item><title>BELLATRIX Test Automation Framework for C# and JAVA</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2022/bellatrix-test-automation-framework/</link><pubDate>Wed, 16 Nov 2022 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2022/bellatrix-test-automation-framework/</guid><description>&lt;p>Over the last decade, a large ecosystem of Open Source projects has sprouted up around Selenium. Selenium is often used for automating web applications for testing purposes, but it does not include a testing framework.
Nowadays, Selenium Ecosystem initiatives try to give popularity to popular open-source test automation frameworks maintained by people outside of the core Selenium maintainers.
One of these frameworks is BELLATRIX, invented by &lt;a href="https://www.linkedin.com/in/angelovstanton/">Anton Angelov&lt;/a>. It has two versions - C# and Java.
A testing framework is an abstraction in which common code provides generic functionality (which can be selectively overridden) for testing different aspects of our applications- UI, API, security, performance, and many others.&lt;/p></description></item><item><title>Observability in Selenium 4</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2021/selenium-4-observability/</link><pubDate>Mon, 26 Apr 2021 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2021/selenium-4-observability/</guid><description>&lt;p>Diagnosing problems when the Selenium server isn&amp;rsquo;t working has never been easy. With Selenium 4, we have integrated &lt;a href="https://opentelemetry.io/">OpenTelemetry&lt;/a> to help you troubleshoot issues, optimize performance, and provide visibility into the system. By making the Selenium server observable, we are putting more power into your hands.&lt;/p>
&lt;h3 id="need-for-observability">Need for Observability&lt;/h3>
&lt;p>Selenium server enables distributed testing. Instead of running the browsers for tests locally, the tests use a remote browser driver that points to a server. The server makes “&lt;strong>smart&lt;/strong>” decisions to run tests on different remote servers. Every such remote server is capable of hosting different types of browsers and browser versions.&lt;/p></description></item><item><title>Browser Testing and Tools WG Meeting @ TPAC 2020</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2020/webdriver-tpac-meeting-2020/</link><pubDate>Thu, 29 Oct 2020 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2020/webdriver-tpac-meeting-2020/</guid><description>&lt;p>It&amp;rsquo;s that time of the year where working groups from the W3C meet up to discuss the various standards that
are being worked on.&lt;/p>
&lt;p>Within the Browser Testing and Tools Working Group, there are 2 different standards.&lt;/p>
&lt;p>We have:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://w3c.github.io/webdriver/">WebDriver&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://w3c.github.io/webdriver-bidi">WebDriver-Bidi&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The first is what is commonly supported by the Selenium Project and has support from Apple, Mozilla, Microsoft, and Google in their browsers. It is also supported by various Selenium in the cloud providers like Sauce Labs and BrowserStack.&lt;/p></description></item><item><title>How to delete your master branch</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2020/how_to_delete_your_master_branch/</link><pubDate>Thu, 27 Aug 2020 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2020/how_to_delete_your_master_branch/</guid><description>&lt;figure class="img-responsive text-center">
 &lt;img src="https://deploy-preview-2575--selenium-dev.netlify.app/blog/2020/how_to_delete_your_master_branch/featured_how_to_delete_your_master_branch_2.png"/> 
&lt;/figure>

&lt;p>At the Selenium project we practice
&lt;a href="https://trunkbaseddevelopment.com/">trunk based development&lt;/a>, in which &lt;code>trunk&lt;/code> is the
usual name of the default git branch of the repository. However, when the project was
moved to GitHub, the repository followed the traditional use of &lt;code>master&lt;/code> as a name for
the default git branch.&lt;/p>
&lt;p>With the intention of making the Selenium project an even more inclusive place where
everyone is welcome, a decision was made to use &lt;code>trunk&lt;/code> as the default git branch and,
after the switch, delete the &lt;code>master&lt;/code> branch. This change created a few challenges.
This blog post will point out a few things you should watch out if you want to make
the same change in your GitHub repository.&lt;/p></description></item><item><title>Moving to Trunk</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2020/moving-to-trunk-development/</link><pubDate>Wed, 01 Jul 2020 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2020/moving-to-trunk-development/</guid><description>&lt;p>Since the project started we have been following &lt;a href="https://trunkbaseddevelopment.com/">trunk based development&lt;/a>. This was a very natural fit when we were using SVN over a decade ago on Google Code.&lt;/p>
&lt;p>As Google Code shut down we moved to GitHub and the git model of doing things. We moved there mostly due to the gravity that GitHub had created in Open Source projects.&lt;/p>
&lt;p>This meant that we followed the standard use of &lt;code>master&lt;/code> as our trunk to work off. Now that GitHub, and services that use GitHub, have improved support for non-master branches as default we are moving our default branch to &lt;code>trunk&lt;/code>. It describes how we, as a project, work and is a more inclusive term.&lt;/p></description></item><item><title>Source Control</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/source-control/</link><pubDate>Mon, 14 Jan 2013 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2013/source-control/</guid><description>&lt;p>This short technical note is to announce that the Selenium project is now using &lt;a href="https://code.google.com/p/selenium/source/checkout">git on Google Code&lt;/a> in place of subversion.&lt;/p>
&lt;p>The move has been a long time in the making, and it’s largely thanks to the efforts of &lt;a href="https://twitter.com/krosenvold">Kristian Rosenvold&lt;/a> that we’ve been able to do the migration and retain the project history. The project owes him a huge thank you! We’re in the process of migrating the last bits and pieces (none of which are user facing), so there may be some last minute turbulence as we settle everything down.&lt;/p></description></item><item><title>Going Atomic: How</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/going-atomic-how/</link><pubDate>Sun, 05 Sep 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/going-atomic-how/</guid><description>&lt;p>This is the second of my technical posts. Again, if you’re interested in the internal workings of Selenium 2, then please skip straight to something else. If you’re interested in how and why we made some of the technical decisions on the project, keep reading….&lt;/p>
&lt;p>We left our intrepid heroes in a tight spot: they’d decided to write a shared library of code, to be used by the various webdriver implementations and selenium core, but the requirements for doing this seemed to be at odds with it actually happening.&lt;/p></description></item><item><title>Going Atomic: Why?</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/going-atomic-why/</link><pubDate>Mon, 16 Aug 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/going-atomic-why/</guid><description>&lt;p>This is the first in a series of technical posts by me about the internals of Selenium WebDriver. If you’re not interested in technical nitty-gritty, then feel free to step away now.&lt;/p>
&lt;p>Still here? Excellent.&lt;/p>
&lt;p>Let’s take a step back to just before the Selenium and WebDriver projects merged. There were, very obviously, two separate codebases. Looking closer and with a slightly different perspective, there were more than this. We used the test suites for webdriver to define the behaviour for multiple, largely independent, driver codebases. The &lt;a href="http://code.google.com/p/selenium/source/browse/#svn/trunk/jobbie">IE driver&lt;/a> was written in C, the HtmlUnit driver in Java and the &lt;a href="http://code.google.com/p/selenium/source/browse/#svn/trunk/firefox">Firefox driver&lt;/a> is largely Javascript, and so on.&lt;/p></description></item><item><title>How to use Selenium 2 with Maven</title><link>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/how-to-use-selenium-2-with-maven/</link><pubDate>Fri, 30 Jul 2010 00:00:00 +0000</pubDate><guid>https://deploy-preview-2575--selenium-dev.netlify.app/blog/2010/how-to-use-selenium-2-with-maven/</guid><description>&lt;p>There are several ways to use Selenium 2:&lt;/p>
&lt;ol>
&lt;li>If you don’t have Selenium 1.x legacy code, you might want to directly use on of the new WebDriver implemenations like ChromeDriver, HtmlUnitDriver, FirefoxDriver, or InternetExplorerDriver which provide a nice, small and easy to learn API.&lt;/li>
&lt;li>If you have Selenium 1.x legacy code, you can still use the well known DefaultSelenium class or the new WebDriverBackedSelenium, which extends DefaultSelenium but uses one of the WebDriver implementations internally.&lt;/li>
&lt;/ol>
&lt;p>Whichever option you prefer, if you have want to use Maven, all you need to do is add the following dependency to your pom.xml:&lt;/p></description></item></channel></rss>