diff --git a/src/TestStack.White.ScreenObjects/ScreenRepository.cs b/src/TestStack.White.ScreenObjects/ScreenRepository.cs index 3ea59767..e89a9ea2 100644 --- a/src/TestStack.White.ScreenObjects/ScreenRepository.cs +++ b/src/TestStack.White.ScreenObjects/ScreenRepository.cs @@ -107,7 +107,7 @@ private void ClearClosedScreens() private static InitializeOption IdentifiedOption(InitializeOption option) { - return option.AndIdentifiedBy(typeof (T).FullName); + return option.AndIdentifiedBy(typeof (T).GUID.ToString()); } private T GetScreen(Window window) where T : AppScreen diff --git a/src/TestStack.White.UITests/GenericScreenTypeTest.cs b/src/TestStack.White.UITests/GenericScreenTypeTest.cs new file mode 100644 index 00000000..ac290049 --- /dev/null +++ b/src/TestStack.White.UITests/GenericScreenTypeTest.cs @@ -0,0 +1,41 @@ +using System.Collections.Generic; +using TestStack.White.Factory; +using TestStack.White.ScreenObjects; +using TestStack.White.UIItems; +using TestStack.White.UIItems.Finders; +using TestStack.White.UIItems.WindowItems; + +namespace TestStack.White.UITests +{ + public class GenericScreenTypeTest : WhiteTestBase + { + protected override void ExecuteTestRun(WindowsFramework framework) + { + var screen = Repository.Get>(MainWindow.Title, InitializeOption.NoCache); + screen.MakeWindowItemsMapDirty(); + Application.ApplicationSession.Save(); + } + + protected override IEnumerable SupportedFrameworks() + { + yield return WindowsFramework.WinForms; + yield return WindowsFramework.Wpf; + } + + private class SomeGenericScreen : AppScreen + { + private readonly Window window; + + public SomeGenericScreen(Window window, ScreenRepository screenRepository) + : base(window, screenRepository) + { + this.window = window; + } + + public virtual void MakeWindowItemsMapDirty() + { + window.Get(SearchCriteria.All); + } + } + } +} \ No newline at end of file diff --git a/src/TestStack.White.UITests/TestStack.White.UITests.csproj b/src/TestStack.White.UITests/TestStack.White.UITests.csproj index 60384729..a78c40b3 100644 --- a/src/TestStack.White.UITests/TestStack.White.UITests.csproj +++ b/src/TestStack.White.UITests/TestStack.White.UITests.csproj @@ -85,6 +85,7 @@ +