2017-02-28 47 views
0

我尽量让初始每一类均衡与链路X为第一类class1
1.打开新的浏览器窗口,使所有的测试,然后关闭浏览器,与链接X
2.打开新的浏览器窗口对于第二类class2,使所有的测试,然后关闭浏览器,ClassInitialize不工作硒C#

使用时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语境”, 开扩网址应该是什么我放在这里? 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

msdn documentation ClassInitialize法说必须有这个签名

public static void ClassInit(TestContext context)

你不会自己调用这个函数,在你的情况下,你不必对context参数做任何事情。

+0

好的,谢谢,我已经更改为'公共静态无效ClassInit(TestContext上下文)“,但它仍然无法正常工作 – elkostek

+0

你能分享部分代码吗? – Ygalbel

+0

https://github.com/elkostek/QA/tree/master/Selenium-我在这里添加我的项目 – elkostek