简体   繁体   English

ClassInitialize无法正常使用Selenium C#

[英]ClassInitialize not working Selenium C#

I try to make initial for each class eq 我尝试为每个班级eq做一个初始
1. open new browser window with link X for first class1 , make all tests then close browser, 1.打开第一个class1的链接X的新浏览器窗口,进行所有测试,然后关闭浏览器,
2. open new browser window with link X for second class2 , make all tests then close browser, 2.打开带有第二个class2的链接X的新浏览器窗口,进行所有测试,然后关闭浏览器,

When use ClassInitialize it is not openning url at the beginning 使用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();
    }

I don't know what does really mean 'TestContext context', What should I put in here? 我不知道“ TestContext上下文”的真正含义是什么,我应该在这里输入什么? Mabye here is a problem Mabye这是个问题

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

When I make TestInitialize it's working 当我使TestInitialize工作

 public class TestBase
{

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

    }
}

TestClass1 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");

    }

}

As said in msdn documentation ClassInitialize method must have this signature msdn文档中所述,ClassInitialize方法必须具有此签名

public static void ClassInit(TestContext context)

You don't call this function by yourself, and in your case, you don't have to do anything with context parameter. 您不必自己调用此函数,在这种情况下,您无需对context参数做任何事情。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM