Во время работы над моей первой большой программой для кодированных ui я узнал, что я испортил то, как я двигался через приложение. Это проявилось в том, что моя программа очень медленная, я имею в виду черепаху медленный LOL. Я понял это после кодирования большей части программы и очень разочаровался в производительности.HOw Я передаю экземпляр моего браузера Класс окна из метода [ClassInitialize] в другой класс, который не является статичным
Проблема в том, что я не передавал экземпляр моего браузера между моими классами и строго полагался, я должен сказать, что на моих картах U.I я создал (я могу подробно рассказать об этом, если кто-то захочет узнать). Когда я начал проект, я знал, что должен это сделать, но так как я создал [ClassInitialize], чтобы запустить браузер для всех моих методов тестирования. Область, которую я выпустил из своего браузера, я не смог передать ее, поскольку она была статичной, и это заставляет меня делать много ненужных последствий в том, как я построил карты U.I и т. Д.
В настоящее время я думаю, что мне нужно либо изменить его на инициализацию теста, либо начать запуск моего браузера в одном методе тестирования, или, как я думал, это передать экземпляр моего браузера, вызвав мой первый класс, который я использую. Вот код ниже того, что у меня сейчас есть, я бы хотел, чтобы некоторые мнения касались наилучшего способа его решения.
[ClassInitialize]
public static void GoToHomePage(TestContext context)
{
Playback.Initialize();
MyCodedUITests.StartTest();
//Playback.PlaybackSettings.MatchExactHierarchy = true;
// //dev
//VyguideWindow = BrowserWindow.Launch(new Uri(@"http://ThesiteIlaunch"));
//prod
VyguideWindow = BrowserWindow.Launch(new Uri(@"http://ThesiteILauch"));
proc = VyguideWindow.Process;
VyguideWindow.CloseOnPlaybackCleanup = false;
VyguideWindow.Maximized = true;
HomePage passWnd = new HomePage();
passWnd.PassBrows(VyguideWindow);
}
public BrowserWindow PassBrows(BrowserWindow window)
{
BrowserWindow myBrowser = window;
return myBrowser;
}
Просьба сообщить мне о наилучшей практике или использовать функцию инициализации теста. Первоначальное мышление состояло в том, что я собирался использовать classinitialize, и все мои другие методы тестирования собирались бежать от него, поэтому я впервые это сделал, но я не знаю, все ли это выполнимо. Спасибо за любую обратную связь.
Спасибо Райан, я не знаю, почему я об этом не думал. Я надеюсь, что, пройдя по моему браузеру, это значительно ускорит мое общее воспроизведение, так как это также заставило меня перепроектировать мое текущее решение, но я бы предпочел, чтобы оно было исправлено. Еще раз спасибо. – skinnyWill