[Fuego] [PATCH 00/14] Add screenshot test to fuego-release-test

Guilherme Camargo guicc at profusion.mobi
Thu Apr 26 12:14:37 UTC 2018


Thanks, Tim, will reply to those.

--
Guilherme

On Wed, Apr 25, 2018 at 8:10 PM, <Tim.Bird at sony.com> wrote:

> These look good.  I've applied all 14 patches, and pushed them to my
> master branch.
>
> I have a few questions, which I'll raise in response to individual patches.
>
> Thanks!
>  -- Tim
>
> > -----Original Message-----
> > From: Guilherme Campos Camargo
> > Hello, everyone.
> >
> > This series of patches adds a new test case class to the
> > fuego_release_test functional test. The name of this new test class is
> > "CheckScreenshot", and its purpose is to get a screenshot of a web-page
> > (in this specific case, Fuego's Jenkins' webpage) and compare it with a
> > reference image.
> >
> > Currently, CheckScreenshot supports:
> >  - Taking screenshot of an HTML element of a page and compare it with a
> >    reference image.
> >  - Taking screenshot of the full viewport (full page if it fits in the
> >    viewport) and also compare it with a reference image.
> >  - Take a screenshot (full or element) and compare only specific regions
> >    of interest with a reference image. The mask is a black-and-white
> >    image in which black regions are ignored by the comparison algorithm.
> >
> > On these patches we have also added a helper script (take_screenshot.py)
> > that may be used for collecting reference screenshots and a few test
> > cases to serve as example of usage.
> >
> > A README.md file has also been to explain the usage of
> > fuego_release_test and the helper script, including a few examples.
> >
> >
> > # Running
> >
> > Currently this test requires a modified version of Fuego to be executed,
> > given that it needs to install some dependencies and needs to map the
> > dockerd socket from the host to the fuego container.
> >
> > The modified version can be found in two different branches on
> > Profusion's fuego fork.
> >
> >  1 - Branch master: Just a few commits that are necessary for making
> >  this test work, applied on top of fuego/next. We plan to try to
> >  integrate these commits into fuego/next in the future.
> >
> >  2 - Branch fuego-base-image: A more complex change on fuego, that makes
> >  the necessary changes for allowing it to be shipped as a docker image
> >  through dockerhub.
> >
> > The steps for each one of the versions above are given below:
> >
> > ## Building the image (from the branch fuego-test)
> >
> > To run the test, execute the following commands:
> >
> > ```
> > git clone --branch master https://bitbucket.org/profusionmobi/fuego-
> > core.git
> > git clone --branch fuego-test https://bitbucket.org/
> profusionmobi/fuego.git
> > cd fuego
> > ./install fuego-to-test-fuego
> > ./fuego-host-scripts/docker-create-container.sh fuego-to-test-fuego
> fuego-
> > to-test-fuego-container
> > ./fuego-host-scripts/docker-start-container.sh fuego-to-test-fuego-
> > container
> > ```
> >
> > Then, add the fuego-test board and the Functional.fuegotest and start
> > the test through Jenkins (localhost:8080/fuego/)
> >
> > ```
> > ftc add-nodes fuego-test
> > ftc add-jobs -b fuego-test -t Functional.fuegotest
> > ```
> >
> > ## Using the modified Fuego Base Image from Dockerhub
> > (fuego-base-image):
> >
> > You can also use the fuego base image that's being developed in
> > Profusion's fuego-base-image branch in our fork:
> > https://bitbucket.org/profusionmobi/fuego/branch/fuego-base-image
> >
> > The image is already available on dockerhub and can be
> > downloaded/executed with:
> >
> > ```
> > docker pull fuegotest/fuego
> > docker run -it \
> >   -p 8080:8080 \
> >   -v $(pwd)/host_fuego_home:/var/fuego_home \
> >   -e JENKINS_UID=$(id -u) \
> >   -e JENKINS_GID=$(id -g) \
> >   -v /var/run/docker.sock:/var/run/docker.sock \
> >   fuegotest/fuego:latest
> > ```
> >
> > Wait for the shell to be available and add fuego-test board and
> > Functional.fuegotest as explained in the last section.
> >
> > ```
> > ftc add-nodes fuego-test
> > ftc add-jobs -b fuego-test -t Functional.fuegotest
> > ```
> >
> > You can also run the test in standalone mode (given that you have all
> > the dependencies installed in your system). See the test README.md for
> > more instructions.
> >
> > Thanks.
> >
> > Guilherme Campos Camargo (14):
> >   Add a SeleniumCommand that compares screenshots
> >   Minor style fix
> >   Add a CheckScreenshot command into the COMMANDS_TO_TEST list
> >   Increase the size of the webdriver viewport
> >   Allow working_dir and install_dirs to be different
> >   Prevent exception NameError when removing container
> >   Add an example reference screenshot
> >   Add helper script for taking element/full-page screenshots
> >   Add mask-img-path argument to CheckScreenshot for ignored areas
> >   Add a README.md
> >   Allow Full viewport Screenshots
> >   Allow compare-with-mask to work with ImageMagick 6 and ImageMagick 7
> >   Improve logging
> >   Set logging level to INFO by default
> >
> >  .../Functional.fuego_release_test/README.md   | 182 +++++++++
> >  .../fuego_test.sh                             |   6 +-
> >  .../helpers/take_screenshot.py                | 145 ++++++++
> >  .../screenshots/footer.png                    | Bin 0 -> 7371 bytes
> >  .../screenshots/footer_mask.png               | Bin 0 -> 302 bytes
> >  .../screenshots/full_screenshot.png           | Bin 0 -> 46323 bytes
> >  .../screenshots/full_screenshot_mask.png      | Bin 0 -> 10717 bytes
> >  .../screenshots/side-panel-tasks.png          | Bin 0 -> 9609 bytes
> >  .../Functional.fuego_release_test/test_run.py | 347 ++++++++++++++++--
> >  9 files changed, 639 insertions(+), 41 deletions(-)
> >  create mode 100644
> > engine/tests/Functional.fuego_release_test/README.md
> >  create mode 100755
> > engine/tests/Functional.fuego_release_test/helpers/take_screenshot.py
> >  create mode 100644
> > engine/tests/Functional.fuego_release_test/screenshots/footer.png
> >  create mode 100644
> > engine/tests/Functional.fuego_release_test/screenshots/footer_mask.png
> >  create mode 100644
> > engine/tests/Functional.fuego_release_test/screenshots/full_screenshot.p
> > ng
> >  create mode 100644
> > engine/tests/Functional.fuego_release_test/screenshots/full_screenshot_
> > mask.png
> >  create mode 100644
> > engine/tests/Functional.fuego_release_test/screenshots/side-panel-
> > tasks.png
> >
> > --
> > 2.17.0
> >
> > _______________________________________________
> > Fuego mailing list
> > Fuego at lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/fuego
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/fuego/attachments/20180426/b07b6f19/attachment.html>


More information about the Fuego mailing list