<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pauline-momanyi</title>
    <description>The latest articles on DEV Community by Pauline-momanyi (@paulinemomanyi).</description>
    <link>https://dev.to/paulinemomanyi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F818243%2F3e431aa4-4320-453d-855a-c68441d6a524.png</url>
      <title>DEV Community: Pauline-momanyi</title>
      <link>https://dev.to/paulinemomanyi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/paulinemomanyi"/>
    <language>en</language>
    <item>
      <title>Rerun only Failed Tests in Robot Framework</title>
      <dc:creator>Pauline-momanyi</dc:creator>
      <pubDate>Thu, 23 Mar 2023 07:31:34 +0000</pubDate>
      <link>https://dev.to/paulinemomanyi/rerun-only-failed-tests-in-robot-framework-2a6p</link>
      <guid>https://dev.to/paulinemomanyi/rerun-only-failed-tests-in-robot-framework-2a6p</guid>
      <description>&lt;p&gt;Sometimes correctly written test cases can fail in robot framework. This could be caused by a couple of reasons including but not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Network failures - leading to a time out&lt;/li&gt;
&lt;li&gt;Software failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In such a case, there arises a need to rerun only the failed test cases and generate a report that combines the results. Sit tight as I guide you on how to do this (and become a master in 4 seconds  😄)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Run Your Tests&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s use a simple sample robot project as below. There are 3 test cases in TC1.robot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fto8ZFpb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omdhaekc4yumndiwkwz6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fto8ZFpb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omdhaekc4yumndiwkwz6.png" alt="Image description" width="726" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After running the tests, assume one test case fails due to  a network error as below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N4cX1uCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6wun6rzkt47z9jjnxpgp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N4cX1uCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6wun6rzkt47z9jjnxpgp.png" alt="Image description" width="880" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CGZho6NF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g0czwttvh80zlmo56lu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CGZho6NF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g0czwttvh80zlmo56lu7.png" alt="Image description" width="880" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Rerun the Failed Test Case&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To rerun only the failed test cases, run the command: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;robot --rerunfailed output.xml --output output2.xml TC1.robot&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;output.xml is the output of our first run, while output2.xml is where we want to store the output of our second run.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F6H8pPlZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cnjf9dnm7dbd107b8lln.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F6H8pPlZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cnjf9dnm7dbd107b8lln.png" alt="Image description" width="880" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Only the one failed test case has been run&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. Combine the outputs&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To combine the two runs and have a combined report, run the command: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;rebot --output output.xml --merge output*.xml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_KrRlId2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c7o7mq83fkiaxkjs3g0v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_KrRlId2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c7o7mq83fkiaxkjs3g0v.png" alt="Image description" width="880" height="73"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8J_2Cgr6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bc47zr2w99qzt6tpuh6o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8J_2Cgr6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bc47zr2w99qzt6tpuh6o.png" alt="Image description" width="880" height="201"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yehey, ☺️ , simple, right?&lt;/p&gt;

</description>
      <category>robotframework</category>
      <category>webtesting</category>
      <category>qualityengineering</category>
    </item>
    <item>
      <title>Working With Sinatra</title>
      <dc:creator>Pauline-momanyi</dc:creator>
      <pubDate>Wed, 13 Jul 2022 09:23:57 +0000</pubDate>
      <link>https://dev.to/paulinemomanyi/working-with-sinatra-3kja</link>
      <guid>https://dev.to/paulinemomanyi/working-with-sinatra-3kja</guid>
      <description></description>
      <category>ruby</category>
      <category>sinatra</category>
      <category>web</category>
    </item>
    <item>
      <title>Is Ruby a popular language?</title>
      <dc:creator>Pauline-momanyi</dc:creator>
      <pubDate>Wed, 13 Jul 2022 09:22:08 +0000</pubDate>
      <link>https://dev.to/paulinemomanyi/is-ruby-a-popular-language-2dmf</link>
      <guid>https://dev.to/paulinemomanyi/is-ruby-a-popular-language-2dmf</guid>
      <description></description>
    </item>
    <item>
      <title>Firebase</title>
      <dc:creator>Pauline-momanyi</dc:creator>
      <pubDate>Fri, 27 May 2022 18:24:48 +0000</pubDate>
      <link>https://dev.to/paulinemomanyi/firebase-327g</link>
      <guid>https://dev.to/paulinemomanyi/firebase-327g</guid>
      <description>&lt;p&gt;Backend as a Service (BaaS) is what comes to my mind when a front end developer says they want to integrate backend services without actually writing code. This is to allow them concentrate on the front end. React is a front end javascript library for building user interface components. It has gained so much popularity due to its declarative nature, eliminating most of the heavy lifting from the developer.&lt;br&gt;
To integrate Firebase into our React app, we need to first get the web configuration object and then use it to initialize Firebase in our react app. Firebase includes services such as authentication and authorization and provision of firestore database to store data.&lt;/p&gt;

</description>
      <category>firebase</category>
      <category>firestore</category>
      <category>react</category>
    </item>
    <item>
      <title>WORKING WITH PUBLIC APIs</title>
      <dc:creator>Pauline-momanyi</dc:creator>
      <pubDate>Sun, 24 Apr 2022 19:31:52 +0000</pubDate>
      <link>https://dev.to/paulinemomanyi/working-with-public-apis-2jp6</link>
      <guid>https://dev.to/paulinemomanyi/working-with-public-apis-2jp6</guid>
      <description>&lt;p&gt;It has been quite some time since I began thinking about learning programming, but two months actively into the actual learning. Over time I had been wondering how some websites I visit have access to a large amount of data, some of which is data that could not be their own. My worries were demystified about 2 weeks ago when I came across Application Programming Interfaces (APIs). &lt;br&gt;
Simply put, APIs are an interconnection between different computer programs. This includes how one interacts with social media apps like Facebook to log in and transmit messages, checking weather parameters online, looking up hotels online and doing booking. APIs that have been published on the internet for anyone to use freely are called open or public APIs.&lt;br&gt;
There are 4 main API methods which correspond to the CRUD operations of persistence storage. These include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GET: Retrieve information about the API resource&lt;/li&gt;
&lt;li&gt;POST: Create an API resource&lt;/li&gt;
&lt;li&gt;PUT:  Update an API resource&lt;/li&gt;
&lt;li&gt;DELETE:Delete an API resource or related component&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In modern JavaScript, with the introduction of promises, fetch command is used to send a GET request to an API. It returns a promise in itself, hence the json() method is used to return the actual json data from the response object. &lt;br&gt;
POSTMAN is a great tool as it is used to do a mock up of the API methods without writing any code. Once familiar with the operations, one can actually implement them into javascript or any language they are familiar with. API data is in JavaScript Object Notation (JSON) format, which is more like javascript objects with slight differences as below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "monsters": [
    {
      "name": "Chronos",
      "age": 4005.302453418598,
      "description": "Effulgence eldritch shunned foetid. Ululate gibbering tenebrous foetid iridescence daemoniac. Stench nameless gambrel. Amorphous furtive iridescence noisome. Foetid mortal nameless.",
      "id": 1
    },
    {
      "name": "Tartarus",
      "age": 1874.4913565609456,
      "description": "Cyclopean swarthy amorphous singular accursed furtive non-euclidean stygian. Swarthy gibbering charnel eldritch daemoniac gibbous. Cyclopean lurk hideous tentacles squamous immemorial tenebrous mortal. Madness tentacles furtive mortal foetid decadent. Foetid immemorial comprehension.",
      "id": 2
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is therefore important to convert data to JSON when updating an API resource using POST method. This is done using the JSON.stringify() method. &lt;br&gt;
The json server is used to mock an actual database, and can be helpful during learning. One has to start the json server by running the following command on the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;json-server --watch db.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;APIs are therefore a great resource in accessing data that could be otherwise difficult to create. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Eyes on the prize</title>
      <dc:creator>Pauline-momanyi</dc:creator>
      <pubDate>Sat, 19 Feb 2022 17:54:58 +0000</pubDate>
      <link>https://dev.to/paulinemomanyi/eyes-on-the-prize-2614</link>
      <guid>https://dev.to/paulinemomanyi/eyes-on-the-prize-2614</guid>
      <description>&lt;p&gt;Growth mindset : Belief that intelligence and talents can be developed. It gives you the freedom to learn, accept criticism, build strengths and abilities. &lt;br&gt;
Fixed mindset : Belief that intelligence and talents cannot be changed.It gives you a limit onto the person you can grow to be,you lose perseverance and are not open to criticism. &lt;/p&gt;

&lt;p&gt;Have an open mind.  &lt;/p&gt;

</description>
      <category>womenintech</category>
      <category>softwaredev</category>
      <category>prep</category>
    </item>
  </channel>
</rss>
