问题
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?
回答1:
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.
回答2:
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.
回答3:
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 :/
回答4:
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.
回答5:
I have used AutoIT to run in parallel with a desktop app in Citrix to monitor and close long running dialog boxes.
来源:https://stackoverflow.com/questions/631988/ui-automation-in-citrix