Remote Connection Unavailable when running from command line

Hi,

Today I was trying to run eggPlant from command line and hit into this issue.

LogMessage = “Remote Connection Unavailable”; OtherButton = “”; ScriptError = “Runtime Error at line 15: No Remote Connection - typetext Error - Remote Connection Unavailable”;
}

When I run the same script from eggPlant GUI, the test succeeds.

Do I have to run any other command to enable remote connection from command line?

Note: The intent to run this from command line is to execute tests from Jenkins continuous integration tool which takes in shell/ bash commands.

Thanks,
Pavan

Here is the full console output:

C:\Program Files (x86)\Eggplant>runscript.bat “C:\eggPlant\main.suite\Scripts est.script” -CommandLineOutput=Yes -host="[Actual SUT IP]" -port= 5900 -password = [SUT Password] -ReportFailures = yes

2011-11-18 13:20:25.091 Eggplant[2252] ABBYY path: C:\Program Files (x86)/Eggpla
nt/Eggplant.app/Resources/ABBYY
2011-11-18 13:20:26.732 Eggplant[2252] FineReader non-expiring license. Unlimite
d Usage
2011-11-18 13:20:31.044 Eggplant[2252] Approved License: Name = xyz, R
emark = , Serial = 11111, Users = 8
Eggplant (11.03-1110092140) running in CLI mode on Host:0.
2011-11-18 13:20:31.747 Eggplant[2252] reported exception - NAME:Script Failed REASON:No Remote Connection:
typetext Error - Remote Connection Unavailable INFO:{CallStack = ("(Handler:“te
st”, Line:“41”, MeObjectID:“C:/eggPlant/main.suite/Script
s/test.script”, MessageName:“on_test”, MessageType:“Command”, objectType:"
SenseTalkFrame", RepeatIndex:“0”, ScriptObjectID:“C:/eggPlant/main.suite/Scripts/test.script”, TryDepth:“0”)", “(Handler:“openurl”,
HandlerOffset:“0”, Line:“15”, MeObjectID:“C:/eggPlant/helper.suite/S
cripts/OpenURL.script”, MessageName:“on_openurl”, MessageType:“Command”, ob
jectType:“SenseTalkFrame”, RepeatIndex:“0”, ScriptObjectID:“C:/eggPlant/helper.suite/Scripts/OpenURL.script”, TargetObjectID:“C:/eggtPlant/main.suite/Scripts/test.script”, TryDepth:“0”)”); LogMessage = “Re
mote Connection Unavailable”; OtherButton = “”; ScriptError = “Runtime Error at
line 15: No Remote Connection - typetext Error - Remote Connection Unavailable”;
}
2011-11-18 13:20:32.263 Eggplant[2252] Completed EggplantTestScript main.suite - test.script

C:\Program Files (x86)\Eggplant>

When you run from the command line you always have to either specify a connection as part of the command line call or have a connect command in the script. There is no default connection and having a connection in eggPlant running in the full-GUI mode does not provide a connection for eggPlant running via the command line. See the section of the eggPlant Reference on “Running from the Command Line” for a complete list of the available command line flags.

Thanks for the reply Matt. Yes I did pass in the command line options as described in the eggPlant reference. You can see below parameters in my original console output that I posted earlier.

-host="[Actual SUT IP]" -port= 5900 -password = [SUT Password]

Note: I did replace the host name and password with actual values in my run command.

Do I have to pass in any other parameters? I thought only host name is required field for the connect.

Thanks,
Pavan

You don’t put the equals sign (=) in the flags for the command line. It should be:

-host [Actual SUT IP] -port 5900 -password [SUT Password]

hm…yes that resolved it. Thanks Matt. Now I tried to run the same command from Jenkins job through bash shell and it failed. The same command works from windows command prompt though.

Here is the relevant part of jenkins output:

2011-11-19 23:02:30.818 Eggplant[1320] ABBYY path: C:\Program Files (x86)/Eggplant/Eggplant.app/Resources/ABBYY
2011-11-19 23:02:32.193 Eggplant[1320] FineReader non-expiring license. Unlimited Usage
2011-11-19 23:02:36.381 Eggplant[1320] Error launching task: C:\Program Files (x86)\Eggplant\Eggplant.app\Resources\EggplantFLS.exe … NSOSStatusErrorDomain 193
2011-11-19 23:02:41.428 Eggplant[1320] Maximum Eggplant Users (8) Exceeded

When run from command prompt I get this:
2011-11-19 23:04:49.787 Eggplant[3676] ABBYY path: C:\Program Files (x86)/Eggplant/Eggplant.app/Resources/ABBYY
2011-11-19 23:04:50.912 Eggplant[3676] FineReader non-expiring license. Unlimited Usage
2011-11-19 23:04:56.053 Eggplant[3676] Approved License: Name = [name], Remark = , Serial = [S#], Users = 8
Eggplant (11.03-1110092140) running in CLI mode on Host:0.
19-Nov-11 23:04:57 START Running test.script

Any pointers?
Thanks,
Pavan

What is the actual command that you are issuing via Jenkins? The key part seems to be that there was not an eggPlant license available when you attempted to run the script:

Maximum Eggplant Users (8) exceeded

It also appears to be trying to launch the eggPlant FLoating License Server for some reason.

Below is the command I am using from Jenkins Matt.

==============
cd “C:\Program Files (x86)\Eggplant”
runscript.bat “C: estPlant\ApplianceInstall.suite\Scripts est.script” -CommandLineOutput Yes -host “[host IP]” -port 5900 -password [password] -ReportFailures yes -DefaultDocumentDirectory “C: estPlant” -QuitAfterRun yes

Again this command is working when run from the window’s command prompt.

Regarding license, we have floating license with 8 users I believe at this point. I am not sure why it’s trying to launch license server? I know that we are still using the temporary license until we get the full version in a week or so.

Thanks,
Pavan

It may be that the Jenkins user can’t access all the license files. Make sure the License file and containing directories ([b]c:\Library\Eggplant[/b]) have Global Read access enabled.

Alternatively if you copy that directory (with the license file) to the Jenkins user’s Application Data directory it should be able to read it.
On XP:
c:\Documents and Settings[username]\Application Data\Eggplant\

On Windows 7:
c:\Users[username]\AppData\Roaming\Eggplant\

Note: You may have to have Explorer set to show hidden files and folders in order to navigate to these locations.