Since Selenium has problem accessing a standalone window, I have to use RFT just to handle this window. I made a jar file from the RFT script and added it to Selenium library. But it seems Selenium doesn't recognize the class in the jar file added. I don't know if I've done anything wrong or it is just a problem of running RFT in Selenium.
It's been years since I've had any contact with RFT, but I seem to remember it being possible. Here's what I found online (all links at the end).
The SQABlogs site has some example code that claims to be able to do this, but it's from back in 2008, which would have been RFT v8.0 or earlier. In v184.108.40.206, RFT changed their project layout such that RFT had to be installed on the machine for projects to run. This change may prevent the code given from working on more recent version.
An automation guy named Devraj claims to have it working from Ant. This seems to be a similar solution to the one described in a moderately horrible IBM TechNote.
There seem to be a few others around the web who've also tried. Here's the references, in descending order of likely usefulness:
- Devraj GR: Calling RFT scripts using XML tags (probably Ant)
- SQABlogs: Call RFT Script playback in normal Java Application
- IBM Technote: How to call RFT script from a regular Java project
- StackOverflow: Is there a way to make RFT scripts runnable in java eclipse?
- StackOverflow: Execting RFT script using Agent Controller
Hope that helps!
AFAIK it won't be possible to call RFT from Selenium as you won't have access to the RFT objects outside RFT.
It is hard for me to believe that Selenium is unable to access a browser window. If that is true, it would be nice if you could clarify the "how" that can be. Keep in mind that on hard to handle windows you also could use Sikuli to use screenshot matching to control mouse clicks rather than use RFT. Also, if your project is configured using Maven , I see no reason why you cannot download just about any library you want into your project, giving your code access to much more than just Selenium.
Use sikuli or AutoIT to handle things not supported by Selenium directly