在同一方法中使用ngWebDriver(量角器)和driver(Selenium)时对象引用错误

时间:2019-04-24 07:21:21

标签: c# selenium-webdriver protractor-net

我的应用程序具有Angular和Non Angular网页。对于Angular页面,我正在使用nuget protractor-net。

在我的测试案例中,当我使用ngWebDriver和Selenium Webdriver时,出现错误-System.NullReferenceException:对象引用未设置为对象的实例。

实际结果:消息:System.NullReferenceException:对象引用未设置为对象的实例。

private IWebDriver driver;
private NgWebDriver ngDriver;

IWebDriver driver = new ChromeDriver("C:\\Users\\Automation\\chromedriver_win32");
driver.Manage().Window.Maximize();
driver.Manage().Timeouts().AsynchronousJavaScript = TimeSpan.FromSeconds(10);
ngDriver = new NgWebDriver(driver);
ngDriver.FindElement(By.XPath("//button[contains(text(),'Login')]")).Click();

//Once i click on above button, re-directed to non angular page.

driver.FindElement(By.Id("UserName")).SendKeys("test");

对于英语页面,它可以正常工作ngDriver,但是当我使用驱动程序时出现错误。

1 个答案:

答案 0 :(得分:1)

由于您已经使用driver声明了private IWebDriver driver;,因此您无需像在以下行中那样在初始化时再次声明新的driverIWebDriver driver = new ChromeDriver("C:\\Users\\Automation\\chromedriver_win32"); < / p>

您只需要初始化在全局级别声明的同一驱动程序即可,例如:

private IWebDriver driver;
driver = new ChromeDriver("C:\\Users\\Automation\\chromedriver_win32");