ClassInitialize不工作Selenium C#

时间:2017-02-28 13:18:25

标签: c# selenium

我尝试为每个班级e.q制作首字母
1。打开新的浏览器窗口,链接X为第一个class1,然后让所有测试关闭浏览器,
2。打开新的浏览器窗口,链接X为第二个class2,然后让所有测试关闭浏览器,

使用ClassInitialize时,它不会在开头打开网址

public static void Initialize(){
_webDriver.Navigate().GoToUrl(url);
}


     [TestClass]
public class TestBase
{
    [ClassInitialize]
    public void Initialize()
    {
        Browser.Initialize();
        Pages.Login.Login();
    }

    [ClassCleanup]
    public void Cleanup()
    {
        Browser.Close();
        Browser.Quit();
    }

我不知道'TestContext context'究竟是什么意思, 我该放什么? Mabye这是一个问题

[ClassInitialize()]
        public static void ClassInit(**TestContext context**)
        {
            MessageBox.Show("ClassInit " **+ context.TestName**);
        }

当我进行TestInitialize时,它正在工作

 public class TestBase
{

    [TestInitialize]
    public void InitializeEach()
    {
        Browser.Initialize();
    }
    [TestCleanup]
    public void CleanupTestEach()
    {
        Browser.Close();
        Browser.Quit();

    }
}

TestClass1

[TestClass]
public class ValidUserCanSuccesfullyLogIn : TestBase 
{

    [TestMethod]
    public void RunTest()
    {

       PagesTest.Login.GoTo();
       PagesTest.Login.Login("login", "pass");
       Assert.IsTrue(PagesTest.MyMembership.IsAt(), " A valid user was not able to successfully login");

    }

}

1 个答案:

答案 0 :(得分:1)

msdn documentation所述,ClassInitialize方法必须具有此签名

public static void ClassInit(TestContext context)

您不要自己调用此函数,在您的情况下,您不必对context参数执行任何操作。