Hey guys. I'm creating automated tests with Selenium, C# and Specflow. I need to create several .features files, object page files and steps files. However, when I create several test files I receive the error below, does anyone know how to resolve it?
Message:
System.NullReferenceException : Object reference not set to an instance of an object.
Stack Trace:
SearchPage.Pesquisa(String name) line 23
FeatureEmQueOUsuarioFazUmaPesquisaNoLinkedinStepDefinitions.WhenQuandoEuInsiroONomeDaPesquisa() line 17
BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments, TimeSpan& duration)
TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
TestExecutionEngine.OnAfterLastStep()
TestRunner.CollectScenarioErrors()
FeatureEmQueOUsuarioFazUmaPesquisaNoLinkedinFeature.ScenarioCleanup()
FeatureEmQueOUsuarioFazUmaPesquisaNoLinkedinFeature.RealizarUmaPesquisaNoLinkedIn() line 9
Standard Output:
Given Eu estou Logado na Página do Linkedin
-> done: LoginPageStepDefinitions.GivenEuAcesseiAPaginaDeLogin() (2.8s)
When Quando eu insiro o nome da pesquisa
-> error: Object reference not set to an instance of an object. (0.1s)
Then Exibe vários resultados
-> skipped because of previous errors
below is my code: searchpage.cs
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium;
using MeuProjeto.PageObjects;
using System;
namespace MeuProjeto.PageObjects
{
public class SearchPage : BaseLogin
{
private IWebDriver Driver;
private WebDriverWait Wait;
private IWebElement fieldSearch => Driver.FindElement(By.XPath("//input[@id='username']"));
private IWebElement responseOption => Driver.FindElement(By.XPath("//a[contains(text(),'Sign in')]"));
public void Pesquisa(String name)
{
Driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
fieldSearch.SendKeys(name);
}
public void Response()
{
Driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
responseOption.Clear();
}
}
}
below is my code: FeatureEmQueOUsuarioFazUmaPesquisaNoLinkedinStepDefinitions
using MeuProjeto.PageObjects;
using System;
using TechTalk.SpecFlow;
namespace MeuProjeto.StepDefinitions
{
[Binding]
public class FeatureEmQueOUsuarioFazUmaPesquisaNoLinkedinStepDefinitions
{
SearchPage searchPage = new SearchPage();
[When(@"Quando eu insiro o nome da pesquisa")]
public void WhenQuandoEuInsiroONomeDaPesquisa()
{
searchPage.Pesquisa("MICHELE");
}
[Then(@"Exibe vários resultados")]
public void ThenExibeVariosResultados()
{
searchPage.Response();
}
}
}