Hi! I am new here and happy to be learning Robot
I have some robot-tests that I have controlled via an API (FastAPI) on a raspberry pi. On the raspberry pi I have been able to run robot-tests with my http-requests as keywords smoothly. Now I have set up the pi as a hotspot, and am able to access the API via the browser on a different computer on the same network. However, trying to run the http-requests via robot doesn’t work…
Since the PI and the computer are on the same network, it was my understanding that I can simply replicate the way I used http-requests on the pi for the computer, like:
Turn BT off RPI4
${response}= POST ${RPIURL}/turnBToff
Status Should be 200
Should be true ‘${response.content}’ == ‘true’
where RPIURL is defined as the address the API is hosted on (the same address that I can access via a browser and smoothly perform the requests).
However, it seems robot itself can’t connect to the server URL, here is the error I get trying to run a test with only the keyword above:
robot -i test RobotTests.robot
RobotTests
Test connectiontopi
Test connectiontopi | FAIL |
HTTPError: 503 Server Error: Service Unavailable for url: http://192.168.0.1:8000/turnBToff
RobotTests | FAIL |
1 test, 0 passed, 1 failed
Do I need to configure a remote server or library? It seems unneccessary since everything is already available on the remote computer. I also don’t need to have two seperate robot libraries, as it is smoother for me to have all keywords and tests defined in the same place, running http-requests for different machines sequentially with the URL method above.
EDIT:
I can bypass this obstacle by using SSHLibrary and curl POST/GET (not really what I wanted to do but it works), but I wonder if I can add SSH logging to the same logfile as used by the other keywords that execute locally?