Hi. FYI, this is a complicated question.

Here's the scenario. (FYI, test tool does not matter on this question, as it is a test architecture sort of question).

We have an intricate settings panel that we need to involve in test automation. There are multiple tabs and tabs within each tab and each changeable test item within that has a value.

Initially, the test was set up to iterate through each tab and item recursively. So, the scenario was this: Record each current value by recursively going through each tab and get each "item name" and "item value", and recording it on a text file.
Then, on "playback", recursively going through this text file and go through this list again in order making sure the "item name" and "item value" match.

Now of course, we adjusted this scenario to allow for the testing of making sure any changes were recorded. (A. Make changes in settings, B. Save settings, C. "record" recursively. D. Close Settings tab and reopen it again, E. Play back recursively comparing saved settings with current settings.).

This is all well and good, but now the current problem is when we want to change specific settings. Also, some settings, when you change them, affect other settings, dynamically changing them in effect, etc.

SO HERE'S my question. Have any of you ever had any experience with this? My initial thought was to have some spreadsheet containing each object name and each individual value, but then to get to some of them, in the script, we'd have to click different tabs to expose them, etc. Plus, to check against different settings, we'd have to have different spreadsheets (a spreadsheet containing expected default settings, a spreadsheet containing expected settings if "Setting A" on tab 4 was chosen as "True", etc.)

Plus, if we incorporate this into a more modularized framework, the spreadsheets would get a bit out of hand to maintain, especially if one of the settings name changed. It would most likely affect all of the settings spreadsheets. etc.

Just wanted to know your successes in more complicated scripts and how you attacked this.

Thanks in advance,