Register
Submit a solution
The challenge is finished.

Challenge Overview

For the Hercules client, we build a lot of web apps that run on an embedded environment.  The web browser used on the embedded system is older and has compatibility issues with modern desktop browsers.  This means we spend a lot of time working through compatibility issues.


In an effort to catch these issues earlier, we have generated a build of the embedded browser that runs on Windows.  This has worked alright to this point.  This current challenge will add in Selenium WebDriver support to the app so we can properly run unit tests against Javascript in the browser.

Code

The embedded browser can be found here for Raspberry Pi:  https://github.com/Metrological/buildroot

This repo holds a set of code that can be flashed to an rPi for testing.  The app we are targeting is the "qtbrowser" executable.  It does appear that the code is here as well:  https://github.com/Metrological/qtbrowser

In the forum will be instructions for building the app on Windows.  Windows will be the target of this challenge.

New functionality

This browser will be useful for validating HTML pages that will eventually be displayed in the embedded system using the same browser.  This challenge is going to add Selenium WebDriver support to the app so we can eventually run unit tests with the browser, which will be important because the embedded browser doesn't currently support Selenium or unit tests.

For this challenge, we want to:

* Patch the code to allow Selenium WebDriver support
* Update the README with details on how to test Selenium support
* Update the documentation with some sample Selenium tests that can be used for validation

It does appear that Cisco has already done most of the work to support Selenium using the QT Browser:

https://github.com/cisco-open-source/qtwebdriver

We just need to ensure the same project will work for us here, document how it can be used, and provide sample tests to show it working properly.

App launching

The app should be easily launchable by double-clicking.  This challenge will ensure it's also controllable via the Selenium WebDriver

Build

Your deployment instructions must contain information on how to:

* Get the code
* Install the dependencies for Windows
* Build the browser app
* Run the app, ensuring the results can be displayed in a window
Ensure that Selenium can be tested against the browser

* Validate the changes above

This should mostly be handled already by the instructions already in the README.  We just need Selenium specific items added to the docs.

Dependencies

Your build must output a standalone EXE.  It cannot rely on any other dependencies like QT being installed - those should be statically linked into the executable.  The goal is to be able to build an EXE that can be easily distributed to developers without requiring all sorts of dependency work.

Markdown

The deployment guide can be provided in Markdown format.  Please make sure it is updated with the latest functionality of the app.  No video is required.

Additional functionality

If the same functionality added above also applies and works on the Mac build, that would be considered additional functionality

Submission format


Your submission should be provided as a Git patch file against the commit hash mentioned in the forum.  MAKE SURE TO TEST YOUR PATCH FILE!

No video is required for this challenge.


Final Submission Guidelines

Please see above

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30055911