Já revisei o meu código todo com o do vídeo e não consigo achar nenhum erro/diferença. Meu codigo:
TESTE:
public class AoOfertarLance
{
private IWebDriver driver;
public AoOfertarLance(TestFixture fixture)
{
driver = fixture.Driver;
}
[Fact]
public void DadoLoginInteressadaDeveAtualizarLanceAual()
{
//arrange
var loginPO = new LoginPO(driver);
loginPO.Visitar();
loginPO.PreencheFormulario("fulano@example.org", "123");
loginPO.SubmeteFormulario();
var detalhePO = new DetalheLeilaoPO(driver);
detalhePO.Visitar(1); //em andamento
//act
detalhePO.OfertarLance(300);
//assert
//Thread.Sleep(4000);
//Assert.Equal(300, detalhePO.LanceAtual);
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(8));
bool iguais = wait.Until( drv => detalhePO.LanceAtual == 300 );
Assert.True(iguais);
}
}
PO:
public class DetalheLeilaoPO
{
private IWebDriver driver;
private By byInputValor;
private By byBotaoOfertar;
private By byLanceAtual;
public DetalheLeilaoPO(IWebDriver driver)
{
this.driver = driver;
byInputValor = By.Id("Valor");
byBotaoOfertar = By.Id("btnDarLance");
byLanceAtual = By.Id("lanceAtual");
}
public double LanceAtual
{
get
{
var valorTexto = driver.FindElement(byLanceAtual).Text;
var valor = double.Parse(valorTexto, System.Globalization.NumberStyles.Currency);
return valor;
}
}
public void Visitar(int idLeilao)
{
driver.Navigate().GoToUrl($"http://localhost:5000/Home/Detalhes/{idLeilao}");
}
public void OfertarLance(double valor)
{
driver.FindElement(byInputValor).SendKeys(valor.ToString());
driver.FindElement(byBotaoOfertar).Click();
}
}
Imagem do erro: