从setupfixture获取IWebDriver

时间:2016-03-30 04:09:28

标签: c# selenium

首先抱歉我的英语。
这是我的问题:
我用mantisbt测试了很多测试用例(报告问题),所以我把登录放在[SetUpFixture][TestFixture] [Test, TestCaseSource("function")]我不知道如何获得我使用的驱动程序用于创建chrome浏览器以获取元素。
这是我的代码:

namespace testcailz
{
    [SetUpFixture]
    public class TestsSetupClass
    {
        public void login(IWebDriver driver)
        {
            IWebElement username = driver.FindElement(By.Name("username"));
            username.SendKeys("1353049");
            IWebElement password = driver.FindElement(By.Name("password"));
            password.SendKeys("123456");
            IWebElement login = driver.FindElement(By.XPath("//input[@value='Login'][@class='button']"));
            login.Click();
        }

        [SetUp]
        public void GlobalSetup()
        {
            IWebDriver driver = new ChromeDriver();
               driver.Navigate().GoToUrl("http://www.cs.hcmus.edu.vn/mantisbt/login_page.php");
            login(driver);
        }

        [TearDown]
        public void GlobalTeardown()
        {
            // Do logout here
        }
    }

    [TestFixture]
    public class Class1
    {
        private static int[] data()
        {
            return new int[3] { 1, 2, 3 };
        }

        [Test, TestCaseSource("data")]
        public void TestCaiLz(int i)
        {

            //wanna click to report new issue but how to get driver for Findelement
            Assert.AreEqual(i, i);
        }

    }

} 

1 个答案:

答案 0 :(得分:1)

根据java预期,在类中全局创建驱动程序对象可能是TestsSetupClass

 public static WebDriver driver;

@BeforeSuite
public void startUp(){

    driver=new FirefoxDriver();
    driver.manage().window().maximize();
    login(driver);
}

如果您在其他类中使用此驱动程序,则扩展此类。如下面的java

 public class Home extends Setup{ //...
 }

谢谢你, 穆拉利