<?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: prprprus</title>
    <description>The latest articles on DEV Community by prprprus (@prprprus).</description>
    <link>https://dev.to/prprprus</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%2F214828%2F5cb4e7d0-b3d4-44c5-b2f0-6c6c61e94aac.png</url>
      <title>DEV Community: prprprus</title>
      <link>https://dev.to/prprprus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prprprus"/>
    <language>en</language>
    <item>
      <title>Recording Browser Interactions And Generating Test Scripts</title>
      <dc:creator>prprprus</dc:creator>
      <pubDate>Mon, 19 Aug 2019 13:51:20 +0000</pubDate>
      <link>https://dev.to/prprprus/recording-browser-interactions-and-generating-test-scripts-1loa</link>
      <guid>https://dev.to/prprprus/recording-browser-interactions-and-generating-test-scripts-1loa</guid>
      <description>&lt;h1&gt;
  
  
  softest
&lt;/h1&gt;

&lt;p&gt;The softest is a test tool for recording browser interactions and generating test scripts, simple and practical. It allows you to get test scripts without writing code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vimeo.com/354273223"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FiQp9Sn7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/prprprus/picture/master/softest2.png" alt="Watch the video"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/prprprus/softest"&gt;https://github.com/prprprus/softest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your help and contribution are very valuable, please Star ⭐, Fork, submit Issue or PR, thanks! 😁😘🎁🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;When I needed a tool that could record browser interactions and generate corresponding scripts, I found &lt;a href="https://github.com/checkly/puppeteer-recorder"&gt;puppeteer-recorder&lt;/a&gt; and &lt;a href="https://www.seleniumhq.org/selenium-ide/"&gt;Selenium IDE&lt;/a&gt;, of course, they are excellent projects. But I found that they can't support multi-tab recording, screenshots, etc., and Selenium IDE always gives an error when playing a script, so I made this wheel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Single tab recording&lt;/li&gt;
&lt;li&gt;Multiple tab recording&lt;/li&gt;
&lt;li&gt;Screenshot&lt;/li&gt;
&lt;li&gt;Generating test script&lt;/li&gt;
&lt;li&gt;Play the script&lt;/li&gt;
&lt;li&gt;Download test report (contains screenshots and test script)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npm i -g softest
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;Add environment variables to facilitate running commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ export PATH=$PATH:$HOME/.npm-global/bin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;To run the &lt;code&gt;softest&lt;/code&gt; command, you need to specify the directory where the Chromium and the directory where the test report is saved:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ soft -c PATH_CHROMIUM -r PATH_REPORT
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;If you don't know where the Chromium is, you can start Chromium and type &lt;code&gt;chrome://version/&lt;/code&gt; in the address bar to find the location of its executable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you see an output similar to the following, congratulations 🎉🎉🎉👏&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt; _______  _______  _______  _______  _______  _______  _______
|       ||       ||       ||       ||       ||       ||       |     status: running
|  _____||   _   ||    ___||_     _||    ___||  _____||_     _|     host: 127.0.0.1
| |_____ |  | |  ||   |___   |   |  |   |___ | |_____   |   |       port: 2333
|_____  ||  |_|  ||    ___|  |   |  |    ___||_____  |  |   |
 _____| ||       ||   |      |   |  |   |___  _____| |  |   |
|_______||_______||___|      |___|  |_______||_______|  |___|

🎉 Running WebSocket server successfully

🎉 Running HTTP server successfully
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Open a browser, type &lt;code&gt;host&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;, you will see the following web interface:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PUaMik4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/prprprus/picture/master/softest1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PUaMik4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/prprprus/picture/master/softest1.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>playback</category>
      <category>record</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
