在selenium IDE中,有一個驗證命令。當我將命令導出到C#中時,我發現驗證基本上是try catch語句中的一個斷言,並且該錯誤被添加到字符串中。使用NUnit在硒測試中使用驗證
在我的代碼中,我想使用verify命令的功能,但我不想爲每個斷言使用try和catch語句。
有沒有人有辦法做到這一點?
編輯:
public static void AssertVerticalAlignment(CustomWebDriver webDriver, IElement elementA, IElement elementB, double tolerance = 0)
{
try
{
Assert.AreEqual(elementA.Location.X, elementB.Location.X, tolerance);
}
catch (Exception exception)
{
LogHelper.LogException(exception.Message, exception.StackTrace, webDriver.GetScreenshot());
throw;
}
}
我想要做的就是在斷言添加一條消息。它應該說nameOfElementA不與nameOfElementB對齊。但我不想給elementA和elementB一個名稱屬性。
這就是我所說的方法:AssertVerticalAlignment(webdriver, homepage.NameInput, homepage.AgeInput)
主頁是一個對象,NameInput是主頁的一部分。 NameInput的類型是IElement,它與IWebElement基本相同,但它不能與html交互,即。它不點擊
所以我想消息說NameInput不與AgeInput
這是一個恥辱。在我的代碼中有很多斷言,如果我爲每個斷言放置一個try catch或if語句,這將非常混亂。但我想我可能必須這樣做。 感謝您的回覆 – user2932876
@ user2932876,爲什麼不創建類似我的代碼示例?負責處理例外的類?這樣你就可以隱藏測試中的異常。 – Arran
哦,我現在看到了,是啊,這可能是我應該做的 讓我嘗試,然後回到你身邊 – user2932876