Forum Discussion

dsaner's avatar
dsaner
New Contributor
7 years ago

Accessing files downloaded by automated test running in CBT browser

I have a few automated tests (Java based webdriver) that cause my application under test to generate a pdf and download it.  Next, the test picks up the file and parses it to make sure the content in the pdf was created in the expected manner.  When I run these tests on my local network, I download the files into a folder that is accessible to all machines within our network so that whatever machine kicked off the test can also find the file for parsing.  When I run these tests on CBT, I don't have that luxury.  Is there a way to send the downloaded file back through the tunnel to my local network for parsing?  I'm not seeing anything in the API to support that functionality.

  • I know it's been a while since I posted this question, but as requested here is what finally worked for me.  

     

    1.  I start up an HttpsServer with a context that allows me to upload a file to the shared directory on my internal network.

    2.  I download the file in the browser on my CBT machine.

    3.  I hit the URL of my server from my CBT machine using local in the URL (i.e. https://local: port/uploadForm) and specify the downloaded file in the web form I created for the server context.

    4.  The file is uploaded to my local network and is now available for parsing, so I kill the HttpsServer.

     

    The code is a little too much for a forum post, but if requested I may be able to throw together a sample java project with all the requisite pieces.  Just wanted to let the 2 or 3 other people in the world who might want to try this know that it's possible!

     

  • YuriPeshekhonov's avatar
    YuriPeshekhonov
    SmartBear Alumni (Retired)

    Hi,

     

    Unfortunately, it's impossible to get a file from CBT. So, such a test cannot be executed in CBT. 

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3

    dsaner
    Hi,

     

    Not sure about webdriver (I understand it as Selenium), but documentation for TestComplete says that it is possible from CBT to work with resources from the local network via http:// and file:/// protocols (https://support.smartbear.com/testcomplete/docs/working-with/integration/cbt/preparing/tests-with-local.html).

    Also, there is description how to open (multiple) CBT tunnels using Java/NodeJS (https://support.smartbear.com/testcomplete/docs/working-with/integration/cbt/local-connections.html, last section of the topic).

    Far not sure, but maybe the above will inspire you with some good ideas...

    • dsaner's avatar
      dsaner
      New Contributor

      Yep, it's Selenium.  I've been playing around with some of the ideas mentioned in your links.  I think I should be able to use the file:/// method to get a workaround going.  Thanks for the input!

      • AlexKaras's avatar
        AlexKaras
        Champion Level 3

        Fingers crossed :)

         

        If you don't mind, I'll appreciate it if you update this thread with the results (either positive or not) for the benefit of others...

         

  • dsaner's avatar
    dsaner
    New Contributor

    I know it's been a while since I posted this question, but as requested here is what finally worked for me.  

     

    1.  I start up an HttpsServer with a context that allows me to upload a file to the shared directory on my internal network.

    2.  I download the file in the browser on my CBT machine.

    3.  I hit the URL of my server from my CBT machine using local in the URL (i.e. https://local: port/uploadForm) and specify the downloaded file in the web form I created for the server context.

    4.  The file is uploaded to my local network and is now available for parsing, so I kill the HttpsServer.

     

    The code is a little too much for a forum post, but if requested I may be able to throw together a sample java project with all the requisite pieces.  Just wanted to let the 2 or 3 other people in the world who might want to try this know that it's possible!