How to Realize a Local Web Environment

If you develop automation workflows in restricted environments, e.g. which have no access to the internet, so it is necessary to provide a web server with the all needed content locally. In this guide I will describe how to realize a local web environment easily.

First step is to download all necessary programs and data, which are then transferred to the restricted environment. These programs are needed:

  1. UiPath Studio
  2. Google Chrome Offline Installer for Windows x64
  3. Baby Web Server a simple web server, as an alternative for Microsoft’s IIS, with ASP support.

The second step is to get an example web site, e.g. RPAChallenge. To retrieve the content from web server we use Wget. With the command …

wget.exe -H -k -r -p -E --restrict-file-names=windows http://www.rpachallenge.com

… we can download all we need. The single parameters means this:

  • -H = Go to foreign hosts when recursive.
  • -k = Make links in downloaded HTML or CSS point to local files.
  • -r = Specify recursive download.
  • -p = Get all images.
  • -E = Save HTML/CSS documents with proper extensions.
  • –restrict-file-names = Restrict chars in file names to ones OS allows.

Third step is to transfer the programs and the data into the restricted environment.

Fourth step is to install the software named above. You can finde more information to activate your UiPath Studio offline here.

Now all preparations are done and we can configure our local restricted environment. In the fifth step we start and configure the Baby Web Server. In this example I copied the content of web site in the path C:\Dummy\www and this is the only necessary configuration. Simple, isn’t it.

image

Now we start the Baby Web Server.

image

Now we can check the site in the Google Chrome browser, type into the address bar

http://localhost/www.rpachallenge.com/index.html

and press enter.

All works well so far. The links in the header, of course, do not.
A small blemish: The browser adds a backslash at the address, to reload the site it is necessary to delete them.

Now we can use this inside the UiPath Studio. Add the browser extension first, in our example for Chrome, …

image

… before you can automate the workflow.

With this approach we have the possibility to map simple web pages locally for automation. For higher complexity or commercial use you can find an extended version of the web server here, including a demo version. The advantage of this approach, against an IIS or WAMP installation, is its simplicity - unzip one file, start one program, configure one parameter, press one button and the web server environment is ready. It’s so easy, anyone can do it. This is a great approach for restricted environments. Even if you are working in non-restricted environments, this approach can be helpful, because network latencies can no longer occur.

3 Likes

Hi @StefanSchnell,

That was a nice read.
It is a neat way to replicate public web pages and not worry about robots.txt terms.

I use a similar approach but using the live server extension on visual studio code for quick prototyping. Open the folder where the website files are and click on live-server we are good to go. Now Microsoft offers its own extension for this feature, almost copy of live-server.

Previously, I have also used node module called nodemon https://nodemon.io to serve webpages, which supports hot reloading, not on a RPA project though.

If someone wants to further open the development local servers to others knowing the url link, I recommend Ngrok for tunneling. It provides both http and https endpoints in free and paid versions.

1 Like

@jeevith

Hello Jeevith,
thank you very much for sharing your experience. Live Server sounds very interesting.
Best regards
Stefan