亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 C# 中使用 Selenium 驗證是否顯示警報消息?

如何在 C# 中使用 Selenium 驗證是否顯示警報消息?

C#
湖上湖 2023-09-16 17:32:48
我需要驗證在網站中,當字段包含有效數據時,單擊“保存”后會顯示一條警報,提示“信息已成功保存”。現在我有一個代碼來查找網絡元素并填充有效數據,如下所示:IWebElement carName = driver.FindElement(By.XPath("..."));carName.Click();carName.SendKeys("Name of the car");IWebElement saveButton = driver.FindElement(By.XPath("..."));saveButton.Click();我希望當顯示消息時驗證它是否已顯示并且測試已通過。
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

判斷是否出現彈出元素,如果不出現元素計數為0


List<IWebElement> elementList = new List<IWebElement>();

elementList.AddRange(driver.FindElements(By.XPath("..."));


if(elementList.Count > 0)

{

 //If the count is greater than 0 your element exists.

     Console.Write("pop up is present");

}else{

  Console.Write("pop up not present");

}

注意:請確保使用FindElements()而不是FindElement()


查看完整回答
反對 回復 2023-09-16
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

我建議使用 webdriverwait,因為根據表單的不同,在成功消息之前可能會有延遲。


var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));

var element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("your xpath here")));

Assert.NotNull(element);

斷言格式將根據您的框架而有所不同。那是來自 xUnit 的。


注意:包含 ExpectedConditions 的包沒有維護,但它們非常簡單,如果您擔心的話,可以將其復制到您的代碼或自己的包中。


public static Func<IWebDriver, IWebElement> ElementIsVisible(By locator)

{

    return (driver) =>

    {

        try

        {

            return ElementIfVisible(driver.FindElement(locator));

        }

        catch (StaleElementReferenceException)

        {

            return null;

        }

    };

}


private static IWebElement ElementIfVisible(IWebElement element)

{

    return element.Displayed ? element : null;

}


查看完整回答
反對 回復 2023-09-16
  • 2 回答
  • 0 關注
  • 130 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號