Ask general questions here.
Posts: 357
Joined: Sun Dec 07, 2008 11:14 pm
Location: Dublin, Ireland


Post by atom » Fri Jun 05, 2009 3:20 pm


We develop a framework .dll that contains all our repeatible code for a specific version of the AUT. So we end up (from our source control), having many versions of the framework dll.

However in some cases we need to work with two AUT of different versions.
In these cases we need to load two different versions of the framework dll.

My question is how is best to handle this, so that its seemless to the guy writing the test case, what framework they are using ?!

I did think of the following:

- All available framework dll's are loaded into a Host
- Test cases call methods in the framework via the Host interfaces
- The Host will choose with framework to pass the call too

Is this the best design do you think?

Sorry if its not Ranorex related :-)


User avatar
Posts: 1336
Joined: Thu Oct 16, 2008 6:46 pm
Location: Arizona, USA

Post by Ciege » Wed Jun 10, 2009 5:08 pm

Have you considered making your framework code "intelligent"?

In other words keep one framework but each method can operate on different versions of your AUT. At the beginning of a test run have your automation test determine the version of the AUT. Then have your framework use that information to automatically follow the code paths (when needed) for that specific version of AUT.

Benefits here is whomever is calling the framework only needs to know your standard calls. Also, you never need to worry about which version of framework to include in your projects. You can also use the same code to run against any version of your AUT seamlessly without having to recompile will different framework versions. And, all your code lives in one place (easier maintenance).

Potential difficulties would be whomever is your framework guru needs to understand how to handle the different versions of the AUT and make your framework intelligent enough to operate on any version of AUT thrown at it.

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA

Post by Support Team » Fri Jun 12, 2009 1:37 pm

And if you don't want if-else clauses in every of your methods, you can define a class interface for your framework and implement the interface for every version of your AUT. At the beginning of your test run you have to instantiate the right class and from then on you only reference the interface.

Ranorex Support Team