我想知道Selenium C#上是否存在任何Assert类,就像我们在Coded UI测试中一样。 或者我将使用Microsoft.VisualStudio.TestTools.UnitTesting.Assert类在selenium中执行断言。 感谢
答案 0 :(得分:3)
是的,您会在单元测试框架中使用Assert
类,在您的情况下MSTest
selenium
库对测试框架类型的函数没有责任,包括asserts
。您可以使用支持许多不同框架的FluentAssertions
,包括MSTest
,如果您因任何原因需要切换框架,这可能会最大限度地减少所需的更改。
答案 1 :(得分:1)
Assert
类适用于MSTest
或NUnit
框架。
我使用了NUnit
,并且有Assert
类,如下面的代码行所示。
示例代码:
Assert.AreEqual(AmericaEmail, "SupportUsa@Mail.com", "Strings are not matching");
答案 2 :(得分:0)
根据https://msdn.microsoft.com/en-us/library/ms182532.aspx
[TestClass]
public class UnitTest1
{
private IWebDriver driver;
[TestInitialize]
public void Setup()
{
driver = new ChromeDriver();
driver.Url = "Your URL";
}
[TestMethod]
public void TestMethod1()
{
//Your first test method
var element = driver.FindElement(By.Id("ID"));
Assert.IsTrue(element.Displayed);
Assert.AreEqual(element.Text.ToLower(), "Expected text".ToLower());
}
[TestMethod]
public void TestMethod2()
{
//Your second test method
}
[TestCleanup]
public void TearDown()
{
driver.Quit();
}
}
答案 3 :(得分:0)
To Use Assert you have to first create the unit testing project in Visual Studio. or import following reference to the project.
`using Microsoft.VisualStudio.TestTools.UnitTesting;
//Using this You can use Assert class.
Assert.IsTrue(bool);
Assert.IsFalse(bool);
Assert.AreEqual(string,string);
`
答案 4 :(得分:0)
您可以使用MSTest,或者我更愿意编写简单的断言方法。在selenium中,大多数用例都是布尔检查,IsTrue | IsFalse(您甚至可以扩展为编写更复杂的断言),因此当您定义自己的断言时,您将获得对脚本的更多控制,例如,
答案 5 :(得分:0)
Assert.Equals(obj1,obj2); //对象比较
Assert.AreEqual(HomeUrl,driver.Url); //重载,比较相同的对象值 Assert.AreNotEqual(HomeUrl,driver.Url);
Assert.AreSame(“ https://www.google.com”,URL); //对于相同的对象引用
Assert.IsTrue(driver.WindowHandles.Count.Equals(2));
Assert.IsFalse(driver.WindowHandles.Count.Equals(2));
Assert.IsNull(URL); Assert.IsNotNull(URL);
答案 6 :(得分:0)
Selenium C#不提供断言类。您必须从某个地方借用它或编写自己的实现。
编写自己的实现将为您提供更多的自由来管理断言,如@Peter所说。
基本概念就是野兔。只需创建一个具有此类断言方法的静态类:
public static class MyAssertClass
{
public static void MyAreEqualMethod(string string1, string string2)
{
if (string1 != string2)
{
// Throw Exception
}
}
}
答案 7 :(得分:0)
MSTest 框架:断言类
答案 8 :(得分:-1)
这样断言可用于切换到显示的弹出窗口:
IAlert alert = driver.SwitchTo().Alert();
String alertcontent = alert.Text;
Assert.AreEqual(alertcontent, "Do you want to save this article as draft?");
obj.waitfn(5000);
alert.Accept();