[英]C# Selenium - Detecting successful login
之前我問了一個有關在C#中使用Selenium登錄網站的問題,但是現在我遇到了一個問題,即程序在登錄失敗時崩潰,原因是找不到密鑰。 我有一個try + catch(exception),但它跳過了。
我的問題是如何檢測登錄是否成功? 如果不成功,則可以退出登錄表單並繼續進行測試。
我的方法代碼在這里:
private static void LogInAsUser()
{
try
{
Driver.FindElement(By.XPath("//a[contains(@href, '#login-window')]")).Click();
Thread.Sleep(500);
IWebElement username = Driver.FindElement(By.XPath("//input[contains(@id, 'UserName')]"));
IWebElement password = Driver.FindElement(By.XPath("//input[contains(@id, 'Password')]"));
username.Clear();
username.SendKeys("user@exampleemail.com");
password.Clear();
password.SendKeys("examplepass");
Driver.FindElement(By.Id("btnLogin")).Click();
}
catch (Exception)
{
}
}
而我的調用方法(以防萬一):
//Log in as User
try
{
LogInAsUser();
}
catch (Exception)
{
Result.Fail(60);
}
登錄失敗以及錯誤消息的HTML
<div id="msgError" class="col-md-12 text-center">Login failed: The user name or password provided is incorrect.</div>
謝謝。
我可以為您提供有關如何檢測成功登錄的建議。 我要做的是查找登錄后將出現的一些元素。 成功找到這些元素后,您將知道此登錄很好。
例如,在我的測試用例中,登錄后我將立即尋找頁面的“ title”元素。此外,為確保確定性,我還將嘗試查找作為圖像的元素。
關於捕獲該異常,您是否嘗試過按F12來訪問控制台消息? 您可能可以在那里捕獲消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.