Forum Discussion

jbeckers's avatar
jbeckers
New Contributor
13 years ago

Communication Error

Hi all,



Distributed testing from my Win7 computer to another test-computer with Windows XP works. My computer is on our company domain and I have the tests executed by TestExecute on the computer with Windows XP that is not connected to our domain. However, setting up a host on my Win7 machine for the actual Win7 test-machine that is also connected to the company domain, results in the Verification failed, Host1 (ipaddress): Communication error.



I can succesfully get a mstsc.exe remote desktop from my computer to that Win7 test-computer because the remote desktop login dialog accepts the IP address of test-computer and ourDomain\myUsername as user name to connect, and following this dialog, my password is asked in the Windows Security dialog. My account has administrator-rights for this Win7 test-computer so this gains me a remote desktop access without troubles.



Why would distributed testing not give me the same success from TestComplete? I tried adding my account locally to the Remote Desktop User group, aditionally. Furthermore I tried testing with a local account on the Win7 test-machine, that was als added to the Desktop User Group... but still just Communication Error.




Does anybody have any idea what might be the cause of this Communication Error?



I have gone though the Message Verification Failed troubleshooting page, I have tried many combinations for domain and username (also with domain\username for example) and I keep failing. Is there a way to troubleshoot more exact, maybe by logging from TestComplete related to the NetworkSuite, that I can check for the possible cause?



​Many thanks in advance for any help!



8 Replies

  • jbeckers's avatar
    jbeckers
    New Contributor
    Hi all,

     

    I succeeded in trying the basics of distributed testing. SmartBear Support gave me some advice (many thanks for that!). For example I was advised to make sure that the latest version of the tools are installed and use TestComplete 9.20 and TestExecute 9.20 on both the master and slave machines. Another advice was checking whether the same ports for remote connections are used (http://support.smartbear.com/viewarticle/33058/), because the same port range must be used on all the computers involved in distributed testing. With my tests, this seemed to be the case because both machines are on default port 6090 because i changed nothing and was oblivious of this port-setting. These ports are not blocked by a firewall. I have also tried the advice of restarting the TestComplete 9 service on the slave machine (Control Panel | Administrative Tools | Services).

     

    It took a lot of perseverance to get acquainted with setting NetworkSuite correctly and everything related, but in the end I go it to work with some trial tests. Note that I want to do a lot of things in sequence, so I have no multiple tasks within jobs to run simultaneously. It takes a lot more effort to have actual (complicated) tests in sequence run smoothly, wether it is locally or distributed, and this work is ongoing.

     

    Maybe somebody can benefit from my trials and therefore; This is a summary of my eventually successful trials with the basics, so far:

     

    (01) Install the latest TestComplete on the master machine with an administrator account.

    (02) Install the same version TestExecute on the client machine administrator account.

    (03) On the slave machine, ensure Remote Desktop sessions are allowed for the slave machine user (which in my case is the same user with the local administrator rights that installed TestExecute).

    (04) On the slave machine, ensure there is a folder C:\Share which is shared to 'everyone' with full rights.

    (05) You can log off on the slave machine or stay logged on, this seems to be of no importance.

     

    (06) On the master machine, in TestComplete, create a New Project Suite.

    (07) Add a TestComplete project to the Project Suite.

    (08) Add some keyword and/or script tests to TestProject.

    (09) Right click TestProject and Run to verify that the TestProject can run locally on the master machine in sequence according the list of test items of the TestProject.

     

    (10) Add another project called DoDistributed to the Project Suite.

    (11) Add a NetworkSuite to DoDistributed and set the deploy mode to 'automatic' (keep all other fields empty).

    (12) Add a Host to this NetworkSuite with:

         type in the ip address of the slave machine

         keep login mode [Automatic (RDP Session)]

         type in the domain of the slave machine user

         type in the user name of the slave machine user

         type in the password of the slave machine user

         keep the source path [path to the current project suite]

         type in the base path C:\Share

     

    (13) Add a NetworkSuite to TestProject with the same settings as in (11) and (12).

           

    (14) Add a Job called FirstJob to the NetworkSuite of DoDistributed.

    (15) Add a Task to the Job, select the configured Host and set TestProject as Test (keep the rest default).

     

    (16) Add another TestComplete called SecondTestProject project to the Project Suite.

    (17) Add some keyword and/or script test(s) SecondTestProject.

    (18) Disable in the TestSuite the project DoDistributed.

    (19) Now, when the ProjectSuite is right-clicked and Run, TestProject should be performed locally first and SecondTestProject after that.

     

    (20) Add a NetworkSuite to SecondTestProject with the same settings as in (11) and (12).

    (21) Add another Job called SecondJob to the DoDistributed NetworkSuite.

    (22) Add a Task to SecondJob, select the Host and set SecondTestProject as Test (keep the rest default).

    (23) Jobs of the NetworkSuite of the DoDistributed project now contains FirstJob and SecondJob in sequence.

     

    (24) Select NetworkSuite of DoDistributed (right-click and Run) to make sure the tests run on the slave machine.

    (25) In the DoDistributed project, set as (one and only) ProjectTestItem, the NetworkSuite - NetworkSuite.

    (26) Now DoDistributed can be set as default project and DoDistributed can be set as only enabled test project in the suite. (TestProject and SecondTestProject can be disabled in the root object of the Project Suite).

    (27) When the ProjectSuite is run, on the slave machine TestProject runs distributed first and SecondTestProject after that.

  • jbeckers's avatar
    jbeckers
    New Contributor
    Here is the project I described in my previous post, for educational purposes. An example project would have helped me if I had been able to find it. I am not a SmarBear guru, I just used the documentation and trial and error to come to this example project.



    If anyone replaces my keywords IP-ADDRESS, DOMAIN, USER and PASSWORD with their actual values in each of the three NetworkSuite objects in the Suite, it should work.

  • jbeckers's avatar
    jbeckers
    New Contributor
    After struggling quite a while, I now not only have an example project for Distributed Testing, I also have a correct DOS BATCH script to run my test suite from the command line.



    For anyone still in the struggling state to get TestComplete Command Line Parameters to work, my sharing mood offers you this for educational purposes:





    @ECHO OFF


    rem The Suite name could be a command line parameter for this script


    set smartbearSuite=Remote


     


    set exportLog=.\%smartbearSuite%.mht


    set smartbearExe="C:\Program Files (x86)\SmartBear\TestComplete 9\Bin\TestComplete.exe"


    set smartbearParameters=/r /e /exportlog:"%exportLog%"


    set smartbearSuitePath=.\%smartbearSuite%\%smartbearSuite%.pjs


     


    rem Removing old log files is is necessary otherwise running


    rem the test will fail because of the exisiting log file


    if exist %exportLog% (


    echo Remove latest log


    del -d %exportLog%


    echo.


    )


     


    echo Perform SmartBear test suite %smartbearSuite%


    %smartbearExe% %smartbearParameters% %smartbearSuitePath%


     


    echo ErrorLevel=%ERRORLEVEL%


    rem Errorlevel 0 is success!


    rem Errorlevel 2 is 'there was an error during testing'.


    rem Error code 1000 means there is already another smartbear exe running.


     


    echo.


    pause


     


  • Hi Jay,


     


    I see that you are working with our TestComplete Support Team. Please let us know when you have the results of your investigation.


     


  • Hi Jay,


     


    WOW. That's a step-by-step instruction for everyone who starts distributed testing in TestComplete!


    Thanks for this!

  • Thanks Jay

    However I'm failing still at the 'connection' phase.

    Here is the setup



    TestComplete 10 on Master Server

    TestExecute 10 on Slave Server

    Verified that RDP is available.

    RDP'd in and connection fine.

    Created shared folder like Jay suggested

    Verified that TestExecute is running via Task Manager



    Firewall off

    Create NetworkSuite

    Added Hosts

    Created host as follows

    Name: Host_Harvard

    Address: Tried IP and it's server name found in "Select Host" dialog

    Login mode: Automatic RDP

    Domain: yup

    Username and password: Match my rdp connection



    When I click on the elipse for "Base Path" (where i entered C:\Share although I've tried a number of times without entering the path) I get the following.

    Testcomplete dialog box: "Connecting"

    (Note: At this time I can see that my slave server has not  "Logged out".)

    After 3+ minutes I get "Communication Error".



    I figured, well maybe if I click

    Popup title: TestComplete (Not Responding)

    "Verifying... This process may take several minutes."

    It did and eventually "Verification failed. <host name> Communication error"



    Then it popped up some hints.

    "Testing Applications With TestComplete Under Windows Vista and Later Operating Systems"

    I checked each one except the UAC instructions do not currently match the current windows 7 version.



    Next I rebooted my slave and exact same results.

    I will now reboot the host and report if that succeeded.

    No news is bad news.



    Tried to find logs: Nada - really, no logs?



  • Hi Stephanie,



    As far as I can see, you've contacted the Support team regarding this issue. Let us know your results then.
  • Stephanie,



    A similar situatiojn occurred here, and manually typing the base path, instead of using the elipses, resulted in a successful connection.