| Robot Framework along with the Sikuli Library are being used to automate some GUI testing. Jenkins has been chose to help automate this process as well as the rest of our CI pipeline. Robot Framework and the Sikuli Library work completely fine via the CLI. My Jenkins build executes shell commands to run my robot script. The failed build describes an issue with connecting to the remote server Java process: "Traceback (most recent call last): 13:54:15 File "/tmp/jenkins6279614729324543791.py", line 3, in <module> 13:54:15 remote.get_keyword_names() 13:54:15 File "/usr/lib/python2.7/site-packages/robot/libraries/Remote.py", line 74, in get_keyword_names 13:54:15 % (self._uri, error)) 13:54:15 RuntimeError: Connecting remote server at[ http://127.0.0.1:10000/|http://127.0.0.1:10000/] failed: <Fault 0: 'Failed to invoke method get_keyword_names in class org.robotframework.remoteserver.servlet.ServerMethods: java.lang.RuntimeException'>" I've isolated the build to start the java process (e.g java -jar /<path to Sikuli library>/SikuliLibrary.jar 10000 /<Captured Images path>) and then execute a few python lines to reach the remote server to the SikuliLibrary, as show below. "from robot.libraries.Remote import Remote remote = Remote('http://127.0.0.1:10000/') remote.get_keyword_names()" The expected outcome if the connection is successful would be a list of keywords from the library, as show below. ['openApplication', 'closeApplication', 'imageCount', 'changeScreenId', 'captureRegion', 'selectRegion', 'clickIn', 'setRoi', 'highlightRoi', 'mouseDown', 'getExtendedRegionFrom', 'getNumberOfScreens', 'addImagePath', 'wheelDown', 'getScreenCoordinates', 'getCurrentScreenId', 'clearAllHighlights', 'waitForImage', 'waitUntilScreenContain', 'getText', 'inputText', 'doubleClickIn', 'click', 'captureScreen', 'doubleClick', 'screenShouldContain', 'clearHighlight', 'mouseUp', 'readTextFromRegion', 'pasteText', 'setCaptureFolder', 'clickNth', 'waitForMultipleImages', 'dragAndDrop', 'highlight', 'highlightRegion', 'typeWithModifiers', 'pressSpecialKey', 'rightClickIn', 'resetRoi', 'captureRoi', 'clickRegion', 'mouseMove', 'waitUntilScreenNotContain', 'wheelUp', 'rightClick', 'setTimeout', 'dragAndDropByOffset', 'screenShouldNotContain', 'exists', 'getImageCoordinates', 'setCaptureMatchedImage', 'removeImagePath', 'getMatchScore', 'setShowActions', 'setOcrTextRead', 'setSlowMotionDelay', 'setWaitScanRate', 'setMinSimilarity', 'setMoveMouseDelay', 'stop_remote_server'] Is the Jenkins build cutting my remote server short? Based on my troubleshooting, I believe the above error is close to connecting but is prevented from completing. Otherwise, the error would be connection refused due to no available server. Thank you for taking the time to read. |