why can't my robot properly execute a bash script? - robotframework

Robot Code:
*** Tasks ***
Build and Deploy
Import Library Process
Run Process /Users/jcastro2/code/flutter/arkiteki/build_deploy.sh shell=yes
/Users/jcastro2/code/flutter/arkiteki/build_deploy.sh:
#!/bin/bash
flutter build web --web-renderer html
scp -r ~/code/flutter/arkiteki/build/web/* user#000.000.000.000:/var/www/arkiteki.co/html/
log.html:
The bash script works when I run it manually, but not when a robot runs it. Any ideas?

I'm willing to make a bet that the issue is with working directory.
Try changing:
Run Process /Users/jcastro2/code/flutter/arkiteki/build_deploy.sh shell=yes
to:
Run Process /Users/jcastro2/code/flutter/arkiteki/build_deploy.sh shell=yes cwd=/Users/jcastro2/code/flutter/arkiteki/
or
Run Process /Users/jcastro2/code/flutter/arkiteki/build_deploy.sh shell=yes cwd=/Users/jcastro2/code/flutter/arkiteki/web

Related

how can i use "|find" in robot frame work

I want to know the status of the virtual machine
In Command Prompt by executing the below command
C:\Program Files\Oracle\VirtualBox>vboxmanage showvminfo Linux |find "State:"
I got output as
=>State: running (since 2020-09-30T06:00:01.824000000)
the same thing when I tried in robot framework(RIDE)
#${result}= Run process C:\\Program Files\\Oracle\\VirtualBox\\VBoxManage showvminfo Linux |find "State:"
I am getting error as -
Syntax error: Invalid parameter '|find'
Can someone help how to use |find in robot framework.
Piping eg, using | character is shell feature. If you want to run shell commands or using features from it, you need to tell Run Process to run it inside a shell by adding shell=yes to your Run Process keyword.
This is documented in https://robotframework.org/robotframework/latest/libraries/Process.html#Process%20configuration and a section below it called Running processes in shell

Rerun Failed test cases from output.xml using jython in robot/RIDE

I am using RIDE 1.3 using robotframework 2.8.7 running on Python 2.7.6. To execute my test I use jybot. The Jython version is Jython 2.5.3. I have an output XML generate from a previous run with failed cases. Now I need to selectively execute only the failed cases from the XML.
I have tried using the Command -R --rerunfailed [xml_path] by inserting it in the arguments tab of RIDE. But this command is unrecognised by the editor so I use -R [xml_path] instead which does not throw any errors.
Finally, when I start executing the suite I expect only the failed results from the suite to run but the entire suite runs as if the command has no effect. The suite from previous run and current run is same but the suite is large and output.xml generated is huge (~100 MB).
How can I execute only failed cases?

Jar file run on a server background with close putty session

I have tried the run spring boot jar file using putty. but the problem is after closed the putty session service was stopped.
then i tried up the jar file with following command. its working fine .
**nohup java -jar /web/server.jar **
You should avoid using nohup as it will just disassociate your terminal and the process. Instead, use the following command to run your process as a service.
sudo ln -s /path/to/your-spring-boot-app.jar /etc/init.d/your-spring-boot-app
This command creates a symbolic link to your JAR file. Which then, you can run as a service using the command sudo service your-spring-boot-app start. This will write console log to /var/log/your-spring-boot-app.log
Moreover, you can configure spring-boot/application.properties to write console logs at your specified location using logging.path=path-to-your-log-directoryor logging.file=path-to-your-log-file.txt. Also, it may be worth noting that logging.file takes priority over logging.path

In which folder to run this PowerShell script?

I am following the example. It is publishing an ASP.NET application to a docker container on a remote Linux sever.
There is a small piece of work to run script.
Let's quote it.
Also be sure to explore the PublishProfiles folder that gets created
in your Visual Studio project under "Properties." A PowerShell script
and a Shell script get created in that folder that you can use to
publish your app from the command line. For example:
.\hanseldocker-Docker-publish.ps1 -packOutput $env:USERPROFILE\AppData\Local\Temp\PublishTemp -pubxmlFile .\hanseldocker-Docker.pubxml
I am not sure the location of .\. Actually I am using Bamboo to build it, I have to place the script into the body.
.
I don't know whether I should modify the script because of .\?
Get a solution at here.
To launch it using the regular old, command line and pass any powershell script as a parameters.
C:\Windows\System32\cmd.exe /c "echo Hesus | C:\WINDOWS\SysWOW64\WindowsPowerShell\v1.0\powershell.exe %*"
Put this in the Argument:
scripts\RemoteWSPDeployment.ps1 –parameter1 value1 –parameter2 value2

Nightwatch.js - Run shell script when tasks complete

With nightwatch.js is it possible to run other commands if all of my test pass?
I would like to be able to type a command that runs:
nightwatch
if tests pass shell script that updates repo to latest version
Actually could I use gulp to do this?
Thanks.

Resources