Forum Discussion

ianrobinson's avatar
ianrobinson
Occasional Contributor
5 years ago
Solved

Python 3.7 support

We internally have produced a product that has a Python library based on 3.7.3 (all dlls are compiled aginst 3.7.3)

 

I've been struggling taking my standlone Python 3.7.3 scripts to work in Test Complete.

After banging my head against a brick wall I found out that installing python 3.6 locally causes the same issue..

Hence TestComplete does not work.

 

So I'm after a TestComplete Python 3.7 update... 
ie. replacement of the 'aqPyScript36.dll' and Python36 folder.

(TestComplete included python3.6 was complied in 2016!!)

 

can anyone help.?

 

 

  • sonya_m's avatar
    sonya_m
    5 years ago

    Thank you for creating a feature request for this, I’ll post the link here so that users could find it and vote up - Update Python Engine to 3.7. 

5 Replies

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    Basically this.

    https://support.smartbear.com/testcomplete/docs/scripting/specifics/python.html

     

    Note the first line that TestComplete supports Python 3.6 as of TestComplete 14.30.  

     

    Essentially, again as per the article, TestComplete has it's own internal copy of the Python engine that it uses based upon 3.6.  If you want to utilize Python libraries developed outside of TestComplete, they need to be compatible with 3.6 and you need to follow the instructions as per the article for importing those libraries.

    Updating TestComplete to use Python 3.7 is not something available to the general user.  That's something to request as a feature for SmartBear to develop.

     

    You can request such things (or look for a similar request) at https://community.smartbear.com/t5/TestComplete-Feature-Requests/idb-p/TestXCompleteFeatureRequests

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    Note, also, the version of language that TC uses does not have to equal the language version (or even the language itself) of the application under test.  I can use JavaScript automation code to test a Delphi based application.  So, you can use TC's Python 3.6 engine to test your Python 3.7 application.  The only restriction is, as you've noticed, you can't always use your 3.7 libraries within TC.

    • sonya_m's avatar
      sonya_m
      SmartBear Alumni (Retired)

      Thank you for the detailed responses tristaanogre! 

      Hi ianrobinson , did you find a solution for the issue? Please share. 

      • ianrobinson's avatar
        ianrobinson
        Occasional Contributor

        Hi sonya_m 

        The only solution I would was for us to recompile our Lib against Python 3.6.
        This worked... buth then I fell into the trap of only being able to run it once... every subsequent run throws error.

        I found another post about this .. something about Com instances and found no workaround.  :(

         

        I'm looking into running the python externally and feeding back responses into TC... 

        This is giving hard ache also, may just end up running this particular suite of tests out of TC.

         

        If TC becomes Python3.7 and I don't have to fight the Com Instances issue; then I can return this test suite back to TC 

         

        Thanks