Idea ID: 2803720

Docker image UFT Dev. 15.x / CA certificates / Firefox

Status : Under Consideration
Under Consideration
See status update history

Hello team,

We will appreciate a simplification of the implementation of CA certificates in the docker image for Firefox.

Currently, you must create a custom docker image by integrating the Firefox profile associated with CA certificates. This image requires maintenance over time.

There is no documentary reference, on the admhelp LeanFt site like an "How to add CA certificates".

In addition, the use of the image is more complex because there is no certutils tool in the image. The libnss3 libraries for the distribution used are not easy to recover in a business context with a restrictive security Policy.





  • docker image used is functionaltesting/leanft-firefox:15.1.416

  • To complete the main problem.
    After adding an environment variable to set an extra ca store for node (NODE_EXTRA_CA_CERTS) and adding corporate certs. We can complete a request to an https url without any problem (without using leanft javascript SDK).

    var https = require('https'); var options = { hostname: 'sub.domain.corporate', port: 443, path: '/login?from=%2F', method: 'GET' }; var req = https.request(options, function(res) { res.on('data', function(data) { process.stdout.write(data); }); }); req.end();

    Return a simple web page (here jenkins login page) 

    <!DOCTYPE html> <html lang="en"> <head resURL="/static/08de059d" data-rooturl="" data-resurl="/static/08de059d"> <title>Sign in [Jenkins]</title> <meta name="ROBOTS" content="NOFOLLOW"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="/static/08de059d/css/simple-page.css" type="text/css"> <link rel="stylesheet" href="/static/08de059d/css/simple-page.theme.css" type="text/css"> <link rel="stylesheet" href="/static/08de059d/css/simple-page-forms.css" type="text/css"> </head> <body> <div class="simple-page" role="main"> <div class="modal login"> <div id="loginIntroDefault"> <div class="logo"></div> <h1>Welcome to Jenkins!</h1> </div> <form method="post" name="login" action="j_acegi_security_check"> <div class="formRow"><input autocorrect="off" name="j_username" id="j_username" placeholder="Username" type="text" class="normal" autocapitalize="off"></div> <div class="formRow"><input name="j_password" placeholder="Password" type="password" class="normal"></div> <input name="from" type="hidden" value="/"> <div class="submit formRow"><input name="Submit" type="submit" value="Sign in" class="submit-button primary"></div> <script type="text/javascript"> document.getElementById('j_username').focus(); var checkBoxClick = function(event) { document.getElementById('remember_me').click(); } </script> </form> <div class="footer"></div> </div> </div> </body> </html>

    But when we use leanft the content seems to be empty

    it("Display Homepage (https)", function(done){ browser.navigate("">sub.domain.corporate/login{ console.log("-------------"); console.log(text); console.log("-------------"); }); LFT.whenDone(done); });

    Log displayed

    leanft-user@d3e72377615b:/tests$ npm test > tests-acceptance@1.0.0 test /tests > jasmine spec/main_spec.js Randomized with seed 32305 Started ------------- null -------------


  • To complete we have no problem with http urls

  • Same problem

    We need to extend the functionaltesting/leanft-firefox:15.1.416 to include CA certificates (add libnss3 for certutil, store a ffox profile, add CA certificates). Then the execution of the firefox command line on an url with enterprise CA certificates works fine.

    docker run -it -p 5095:5095 -v C:\myproj:/tests -e VERBOSE=true -e LFT_LIC_SERVER=xxx:443 -e LFT_LIC_ID=123 -w /tests --rm --name leanft functionaltesting/leanft-firefox:15.1.416 firefox --headless --screenshot=test.png

    But still don't work with the javascript SDK in execution mode, with the  same image !
    Same problem with the leanft chrome image.

    Is there a special thing to do to make this image work with javascript SDK ?