How to update data in the table?

Good afternoon.
I am doing automation testing of ui applications.
We have a WPF application. Testing using coded uitest, search items with FindByName.
After the implementation of Docking, we had the tabs, but there was a problem with updating the information in the tab.
For example:
Open area with a specific set of controls (opens in master tab), work with these controls. Then open the area with a different set of controls (region opens in the same tab, that is the master table is redrawn). And the code is not clear that the items in the tab has changed.
Previously, it was solved by using a permanent re-opening tabs, clumsy but it worked.

Recently the developers to speed grids have introduced a substitution template. And now having this problem:
for example in the tab there is a dropdown list(popup) and a button. First, work with the popup, select the value, and then click the button. But when I try to press the button falls out ElementNotAvailableException.
If you first press the button then everything works. The developers say that this is associated with podmena templates, and we need to learn to update the data in the tab to catch a new condition.
It is interesting that the tests fall not always.

Actually a question:
viewed many forums but have not found how to update information in the tab. The developers say that it should be implemented in the tests. For example post a piece of code. Select item in the drop-down list and click a button.

internal void Choose(AutomationElement element, string value)
{
 if (NameProperty(element) != value)
{
Open(element);

 AutomationElement valueInPopup = FindByName(PART_ListBox(), value);

 ChooseValueInPopup(valueInPopup, value);
}
}

 private void ChooseValueInPopup(AutomationElement element, string value)
{
 AutomationElement valueInPopup = FindByName(element, value);
LeftClickElement(valueInPopup);

Thread.Sleep(1000);
}

 private void ClickSaveEventButton()
{
 AutomationElement saveButton = FooterSaveButton();
LeftClickElement(saveButton);

 WaitBusyElementWithoutParameter(saveButton, BusyIndicator);
 }


Really need help. Thanks in advance.
March 25th 20 at 13:33
0 answer

Find more questions by tags C#WPF