I am working in different kind of UI Automation and need to explore Citrix automation, can anybody suggest any live example for citrix automation so that i can give it a try and explore.
Thanks,
Install UiPath CE.
Get access to another computer via Remote Desktop. Maybe boot one up via AWS or Azure.
Try to automate a program on the remote machine from your own machine via UiPath (which is installed on your own machine).
And as Poof commented, only Image (i.e. Click Image) and Hotkeys are usable. But if you use the Citrix Recording option, that should remove any activities that is not usable :)
Related
I've been working with Selenium for a few years already.
I started with some little stuff in Java and in my previous job I did a project using C# bindings with SpecFlow framework, page objects model, I dealt with complex locators, some JavascriptExecutor even some browsermobproxy work, bottom line I have some experience with Selenium.
Still there is something that is not clear to me.
Is Selenium expected to work properly when there is no "interactive session" into the machine that is running the code ?
Let's say that I connect into remote desktop to a machine in the cloud (Let's say Amazon or Azure), I develop a script and schedule a windows job to run it on the next 10 minutes, then I disconnect from the remote desktop session, the machine is on but no user is connected to it in remote desktop.
Will the script work ? Or depends what does it do ? Might some of the actions not work (Script might include changing the window size, sending keystrokes both through selenium sendkeys and by OS level actions) ? Can we ensure that any script that we developed and works OK while we are connected to the machine will also work when I'm not ?
I hope the question is clear, if not I can maybe explain further
Thanks !!!
Yes, Selenium can run on the cloud machine even though you are not connected to it. It should work without any issue.
As per my knowledge cloud machines are protected by firewall which blocks almost all the ports. You may need to get permission to use the default selenium ports like 4444 or 5555.
Also, may need to increase wait time because the cloud machines are slow in performance compared to normal physical desktop.
Usually cloud machines are linux based, you need to consider the environment as well.
Our Application is hosted on citrix . so we are unable to automate that application through selenium.
Because every time selenium launch it's own browser.and citrix having it's own browser.
could you suggest how we can do that.
I don't think that testing over Citrix is a good idea.
What Citrix basically does is render a Windows application over the network.
I would just install a local instance of the application you are trying to test and perform your tests on that instance.
Which options do we have to do automated UI testing on remote computers connected via RDP, if I don't want to install anything on the remote computer?
My only idea is to open the rdp session always in the same way and use recorded mouse and key strokes, but there are some disadvantages, e.g. I assume it's slow?
Anyways, do you know any open source or proprietary tools I can use? Best would be that I have to install nothing on the remote machine and play the record on my local machine.
Starting with UFT 11.50 (previously known as QTP) there is support for image based testing.
You can have one machine with UFT installed and replay on other machines via RDP using Insight UFT's image based automation solution.
eggPlant Functional allows you to automate the UI of any app on Windows machines using an RDP connection. It's pretty fast assuming you are connecting over a decent network, and you don't need to install anything additional on the target machine.
I tried to automate an application available under Citrixl Program Neightbourhood using QTP 9.5, but QTP does not identify the objects inside the application. Can we automate citrix application using QTP?
What are different tools available to perform automation testing on Citrix applications?
I have used Scapa Technologies for Citrix ICA or Terminal Services testing. Scapa provides an automation tool that is installed on the Citrix server. Then it has a controller that launches the citrix session, communicates with the server and starts the automation tool which calls your automation script. It actually runs on the server so it can interact with the applications controls.
QTP supports Citrix only if it is installed on the Citrix machine, it doesn't support working via the client.
For technical reasons this is because QTP needs to be able to listen to windows messages and load its DLL's into some applications which it cannot do from a different machine.
Traditional tools generally do not work with applications running in remote desktop applications. The interfaces needed aren't available. Probably your only option is an image-based tool like Eggplant.
The difficulty with Citrix automation is that the applications are streamlined to the client computer as an image, thus you can not access to the UI tree of elements.
UiPath can automate very easy Citrix applications (also desktop or web) by using some image automation specific techniques like
clicking relative to an image
using OCR for text scraping
using keyboard hotkeys
click relative to a OCRed text
Here's a full tutorial showing different Citrix (or virtual desktops) automation techniques for
data entry
OCR data scraping
clicking and typing relative to an image or text
UiPath has an SDK that can be used from code.
The default will be to create visual automation (workflows) directly from UiPath Studio.
Note: I work at UiPath. You should also try other visual automation tools like Automation Anywhere, WinAutomation, QTP, Selenium, etc, use them side by side and choose the one that suits better your needs.
For what it's worth, I have automated a CITRIX application just as you described for a large telecommunications firm in the early 2000s. I did this by getting deep inside the Windows SendMessage APIs and an optical character recognition package. You would probably be astonished by how much data was moved from one system into another using my team's CITRIX/screen-scraping "robots." I came upon this question because I was reminiscing about this project and wondering if there was still a need for this type of solution in this day and age.
As Motti said You can't automate via Citrix client. In general Citrix client is hard to automate. I know that someone at my work played with it and he managed to catch some communication and objects that could be useful to automate tests via Citrix, but that would be separate development project to create such solution that could be very limited.
Via citrix QTP object recognition is totaaly different. QTP on remote machines works on objects based on location and reference so it is almost impossible to automate.
As per my experience this type of setup can be best handled using the Image recognition and/or OCR capable testing tools like eggplant but its not really suggested to have testing environment which includes Citrix. Another option could be to install an automation tool like AutoIT within the Citrix machine and trigger the scripts using the other tool (maybe Selenium but I am yet to try that out).
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I would like to be able to use a tool like WatiN to automate somethings that needs to interact with a Web App that is access by using an instance of IE running on Citrix. So far it seems impossible to interact with the window at even a rudimentary level using SendKeys as the internal UI components seemingly do not have a handle.
Has anyone been able to do this or anything similar?
You can try UiPath in order to handle Citrix automation (and also desktop or web).
Here's a full tutorial showing different Citrix automation techniques for data entry, data scraping or clicking and typing in virtual desktop environments.
You can use it from code (SDK) or create visual automation (workflow) directly from UiPath Studio.
Take into account that Citrix/virtual desktops are streamed to the client computer as an image so you can't have access to the UI tree elements.
Note: I work at UiPath so I know it can do the job. You should also try other visual automation tools like Automation Anywhere, WinAutomation, Jacada, use them side by side and choose the one that suits you the best.
Citrix has a test/monitoring tool that supports automating Citrix apps. I believe it is called Edge Sight. Another option is Tevron CitraTest.
However, if it is a web app that you are trying to automate, why don't you just automate IE directly on your own workstation. There are numerous automation tools, both free and fee, that support automating IE.
I haven't heard about Citra Test only about EdgeSite. Anyway it's troublesome to deal with closed Citrix environment.
First of all no automation software or scripting environment can easily interact with objects of Citrix applications. There are simply no hooks available. IE accessed via Citrix is more like Image than application.
You can get some interactions when listening on low level of communication, but that is almost like reverse-engineer citrix propetiary technology and injecting your data.
You could try with software that recognizes images and operates on screen coordinates, but that sucks. It is prone to many, many errors. Additionally don't even dare to use it with Citrix and dual/multiple screen setup. That's just mess.
Installation of automation software on server and have it accessed via Citrix as your IE would be best solution (except having tested app accessed normally via your workstation IE).
Unfortunately in most cases App accessed only via Citrix means no testing automation :/
I recently saw a demo of Macro Scheduler. It seems promising but I haven't used it. Here is the link. http://www.youtube.com/watch?gl=US&v=HBok9MXX4Yg
Another option is try installing Quick Test Pro or any other UI automation tool on the citrix server that you are accessing. QTP works in this setup. Its not easy but its doable.
I have used AutoIT to run in parallel with a desktop app in Citrix to monitor and close long running dialog boxes.