0

I'm currently doing some testing on a platform migration where I need to automate testing on software that exists on one platform, and effectively perform the same automation on the new platform once it's been migrated to the other platform. The catch is that although the software is effectively the same(or very similar) in functionality, the Xpaths, components and identifiers will be different.

To get around this I want to have a class for each page on platform A (pA) and a class for each page on platform B (pB). however, I want them to share the same feature files (and maybe even step defs if possible) but select which platform is being tested on at runtime (in Appsettings.Json).

any idea how i'd go about doing this in C# selenium?

  • 2
    There's a few different solutions. What springs to mind is to move your POM to it's own project within the solution. For what you're describing you'll then have 2 POM projects. One project for sysA and one project for sysB. Depending on which one you want to test load in the correct project as the relevant build dependency. Or, if two projects isn't right for you, manage the POM object versions with git branches. – RichEdwards Jun 09 '22 at 10:24
  • (in a nice way) I'd also question the value of complicating the solution when - i assume - the old platform is going to go in the bin? - Why maintain and manage the old POM files? Why create a solution to run both?? - migrate to the new solution as the way forward and bin the rest. As above, git is your friend here. Do it would a couple of branhces and not worry about trying to run both as one – RichEdwards Jun 09 '22 at 10:26
  • When you say "platform", you mean you are updating the UI of the application, but the base level requirements are the same? – Greg Burghardt Jun 29 '22 at 20:21

0 Answers0