Invoke Workflow VS Launch Workflow Interactive in UIPath - uipath

What are the difference between Invoke Workflow and Launch Workflow Interactive activity in UIPath?

Invoke workflow with Isolated property checked, works in the same way as Launch workflow Interactive. Meaning they run in separate windows session. Launch workflow interactive forces the workflow to run in a separate windows process. I have used both the activities and seems like Invoke workflow sometimes doesn't run in a separate process. But the Launch workflow interactive definitely runs in separate process.

Related

Using GitLabRunner to execute GUI tests on windows with permanent active user session

i'm having issues to get a permanent active user-session on my virtual machine to execute gui tests developed with the functional testing tool Ranorex Studio via GitLab-Runner (Windows / Shell). The testsuite is based on a .NET solution which is built via MSBuild.exe and the output (bin/debug/*.exe) will be executed with some parameters via command line.
Procedure:
Start gitlab-runner via PowerShell as administrator with "gitlab-runner run" command
Make some changes in GitLab-Repository to start the pipeline via .yml-File
Ranorex test-project is built successfully and is starting the GUI-tests
In the first run the user session is active and the tests are going to be executed and interacting with the GUI, but when i try to trigger the pipeline again for further runs, the user-session turns to false and there is no interaction with the GUI (black sceenshots in test-report).
Already did:
Screensaver disabled
StandBy-Mode disabled
User-Access-Control on lowest setting
Lock-Screen disabled
Secure-Login disabeld
Remote connections enabeld
Ports openend
Keep Session open via .batch-File, when closing RDP-connection
GitLab-Runner Service => Log on with respective AD-User (equipped with admin-rights)
AD-User is alway logged in on virtual machine
With Jenkins (Master / Slave configuration) everything works fine
Would be grateful for any help!
Does your Ranorex process close down properly with an exit code? Does the Application Under Test also close down properly at the end? I am assuming something has locked - you could try a bit of Powershell to close the processes before a test run. One thing I had to do was keep the screen on - using a utility like 'Caffeine'.

Selenium with Windows Release Mangement

In Microsoft Release Management 2013, in the Powershell Executor step we have configured a step to trigger a Windows batch file. This batch file will be executed on a different server, which also happens be our App Server. As an experiment, we have a simple test case to open IE, access the Google homepage URL and close the browser, a screenshot will also be captured. When we run the job from RM, the Selenium logs say that the browser is launched and the test was successful. But when we check the screenshot it is just a black screen. All this runs as the Windows service account user which is the same user that is running RM. This user has no log on privilege.
If I log into the App server with my own ID and execute the batch file manually, the screen shot is captured correctly.
I have read several online posts regarding the black screen. People have said that the screenshot is black because the screen is locked. Does this mean the RM Powershell executor step must be executed with some other credentials instead of service account? If yes, how do we do this? In some suggestions it was mentioned to install VNC. Is that relevant in this situation?
I'm fairly new to Windows. I've mostly been working in Linux systems and I've been requested to debug this issue here. Any pointers/guidance will be appreciated. Thank you!
The deployment agent does not run as an interactive service. You're going to have a lot of trouble getting it to directly invoke Selenium tests. I wrote a blog post a few years ago showing how I accomplished it. Basically, you use Selenium hub to execute the tests interactively from agent machines.
We finally got this to work.
We were invoking the testNG selenium tests within a batch script. This script was specified in RM within the Powershell Executor task. The main point to note is that, in the Powershell executor task, we must first have a cd (change directory) command to change into the directory where the Selenium scripts are. Then specify the complete path to the batch script to be executed in the same Powershell executor task. This cd command is very important. Without this, the batch script would be executed but the selenium step within that wouldn't work. You would just get a vague "configuration errors:1" in the final output.
We took care of website authentication using AutoIT for IE browser.

Facing "The 'My application' window is invisible and cannot be activated" error when executing TestExecute through teamcity

Background:
With TestComplete 6 we have created a project which clicks few buttons in our application and performs few tasks. To automate it we have created a .bat file which installs our application (desktop) executes testexecute.exe in silentmode and uninstalls the application. This .bat file works fine when we execute it locally.
But when we execute this .bat file on a remote machine (teamcity agent) through teamcity I get "The 'My application' window is invisible and cannot be activated" error. Any UI action I try to execute fails because my application window in visible. It works fine till installing and starting my application, but once the application is started it can't execute any GUI task.
This weird behavior raised few doubts.
Why testexecute is unable to interact with the GUI?
Does the user account which teamcity uses to run testexecute.exe need special privileges on that machine?
How to execute TestExecute.exe on a remote machine and what things I need to take care of while doing it?
The TeamCity agent works as a system service which does not have access to GUI. This means that all processes invoked by it do not have access to GUI as well.
You can check the 'Run interactive' box for the agent service in the Services snap-in. However, you will still have to login to the machine in order to make the system to draw GUI and this will not guarantee that TestExecute will have enough permissions to access this GUI without any problems.
You need to find a way to run TeamCity build agent as an interactive app, not as a service.
You can also find more information on this topic here.

TFS2010 workflow activity "InvokeProcess": How to display the process on the agent instead of running it in background?

I have created a BuildProcessTemplate that invokes a custom compiler. This compiler is normally running inside a command shell. It spawns lots of other processes running in a command shell in order to compile the code in parallel.
Now we are migrating to TFS and would like to trigger the build process from TFS. This works fine using the "InvokeProcess" activity. However, when the InvokeProcess activity is started, the command shells are not shown on the agent computer. They are running in the background. We would like them to be displayed.
Is it possible to somehow tell the InvokeProcess that it should interactively start the process?
Thanks for your help,
Christian
I found the solution...
The Build service on the agent machine needs to be run as an interactive process, not as a service. This can be configured from the TFS Administration Console:
Just tick the "Interactive Process" radio button.
(On this Image both TFS application tier and Build service is on the same machine, which should not be done by the way!)

How to check which programmes are scheduled to run in windows?

Like crontab in linux,is there a solution?
I mean,it's run at a specific time,for instance,12 o'click every day.
So it's not services.msc
You'd want to check the Windows Scheduler, Control Panel -> Scheduled Tasks.
Autoruns is a useful program that shows all sorts of stuff that runs on a windows box.
It's called the Task Scheduler.
The answer involves a few different tools in windows:
To view the current running applications and processes you can use Task Manager or better yet the sysinternals suite of tools - in particular Process Monitor - that can be downloaded from microsoft, which provide even more info of the running processes. To get to task manager you can just do a CTRL+ALT+DELETE or right click on the windows toolbar and select Task Manager.
For something like crontab, there is Task Scheduler that you can use to schedule the running of scripts, applications, etc.
In windows you can also have applications running as services - similar to daemons. Under the administrative Tools in Contorl Panel you will see Services. If you double click it you will get a dialog that shows you all the services currently running. You can also create your own programs that run as services.
its called the task scheduler, also, you can use the at command to set scheduling of task programmatically. See here for syntax
For scheduled execution of applications or jobs, you can use the task scheduler
You can also use windows services in order to schedule long running jobs or see what services are running.
On XP, you can go to start->run and run 'services.msc' to see this list.
Up through 2K: at.exe
On XP and beyond: schtasks.exe
Run Windows Task Manager;
right click the Task Bar
or key Ctrl+Alt+Delete
to launch Task Manager.
You can also run tasklist from
the command line. Type
tasklist /?
for usage.

Resources