public YopMailMessagePageObject OpenLatestMessage() { WaitersWrapper.Wait(5); try { WaitersWrapper.WaitElementInteractable(_refreshButton); _webDriver.FindElement(_refreshButton).Click(); LoggerWrapper.LogInfo("Refresh button was pushed!"); } catch { LoggerWrapper.LogError("Refresh button: unable to push."); throw; } WaitersWrapper.Wait(5); try { WaitersWrapper.WaitElementInteractable(_frame); IWebElement frame = _webDriver.FindElement(_frame); _webDriver.SwitchTo().Frame(frame); } catch { LoggerWrapper.LogError("Frame wasn't found or XPath (or CSSSelector) is incorrect."); throw; } try { WaitersWrapper.WaitElementInteractable(_latestMessage); _webDriver.FindElement(_latestMessage).Click(); LoggerWrapper.LogInfo("Latest message was opened!"); } catch { LoggerWrapper.LogError("Latest message: unable to open."); throw; } try { _webDriver.SwitchTo().Window(_webDriver.WindowHandles.First()); LoggerWrapper.LogInfo("Browser tab was switched!"); } catch { LoggerWrapper.LogError("Browser tab wasn't switched."); throw; } return(new YopMailMessagePageObject(_webDriver)); }