簡體   English   中英

C#Selenium-檢測成功登錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM