diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/UITests-FancyZonesEditor.csproj b/src/modules/fancyzones/UITests-FancyZonesEditor/UITests-FancyZonesEditor.csproj
index b0d5d6f76c..4ce3ce7c53 100644
--- a/src/modules/fancyzones/UITests-FancyZonesEditor/UITests-FancyZonesEditor.csproj
+++ b/src/modules/fancyzones/UITests-FancyZonesEditor/UITests-FancyZonesEditor.csproj
@@ -22,9 +22,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/IOTestHelper.cs b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/IOTestHelper.cs
new file mode 100644
index 0000000000..67194ca358
--- /dev/null
+++ b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/IOTestHelper.cs
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation
+// The Microsoft Corporation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System;
+using System.IO;
+using System.IO.Abstractions;
+using System.Threading.Tasks;
+
+namespace Microsoft.FancyZonesEditor.UITests.Utils
+{
+ public class IOTestHelper
+ {
+ private readonly IFileSystem _fileSystem = new FileSystem();
+
+ private string _fileName;
+
+ private string _data = string.Empty;
+
+ public IOTestHelper(string fileName)
+ {
+ _fileName = fileName;
+
+ if (_fileSystem.File.Exists(_fileName))
+ {
+ _data = ReadFile(_fileName);
+ }
+ }
+
+ ~IOTestHelper()
+ {
+ RestoreData();
+ }
+
+ public void RestoreData()
+ {
+ if (_data != string.Empty)
+ {
+ WriteData(_data);
+ }
+ else
+ {
+ _fileSystem.File.Delete(_fileName);
+ }
+ }
+
+ public void WriteData(string data)
+ {
+ _fileSystem.File.WriteAllText(_fileName, data);
+ }
+
+ private string ReadFile(string fileName)
+ {
+ var attempts = 0;
+ while (attempts < 10)
+ {
+ try
+ {
+ using (Stream inputStream = _fileSystem.File.Open(fileName, FileMode.Open))
+ using (StreamReader reader = new StreamReader(inputStream))
+ {
+ string data = reader.ReadToEnd();
+ inputStream.Close();
+ return data;
+ }
+ }
+ catch (Exception)
+ {
+ Task.Delay(10).Wait();
+ }
+
+ attempts++;
+ }
+
+ return string.Empty;
+ }
+ }
+}