1
resposta

Erro "A conexão com localhost foi recusada."

Olá, tudo bem?

Estou enfrentando o erro "A conexão com localhost foi recusada." logo quando compilo o código e o driver é aberto, acabando por não carregar o site. Poderiam dar uma olhada nas minhas classes?

Obs.: Este problema começou a ocorrer depois de reproduzir o código da aula 2 do tópico 4, pois antes estava funcionando normalmente.

Classe LeiloesTest.java

package br.com.alura.leilao.leiloes;

import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test;

import br.com.alura.leilao.login.LoginPage;

public class LeiloesTest {

private LeiloesPage paginaDeLeiloes;

@AfterEach
public void afterEach() {
    this.paginaDeLeiloes.fechar();
}

@Test
public void deveriaCadastrarLeilao() {
    LoginPage paginaDeLogin = new LoginPage();
    paginaDeLogin.preencheFormularioDeLogin("fulano", "pass");
    this.paginaDeLeiloes = paginaDeLogin.efetuaLogin();
    CadastroLeilaoPage paginaDeCadastro = paginaDeLeiloes.carregarFormulario();
}

}

Classe LeiloesPage.java

package br.com.alura.leilao.leiloes;

import org.openqa.selenium.WebDriver;

public class LeiloesPage {

private static final String URL_CADASTRO_LEILAO = "http://localhost:8080/leiloes/new";
private WebDriver browser;

public LeiloesPage(WebDriver browser) {
    this.browser = browser;
}

public void fechar() {
    this.browser.quit();
}

public CadastroLeilaoPage carregarFormulario() {
    this.browser.navigate().to(URL_CADASTRO_LEILAO);
    return new CadastroLeilaoPage(browser);
    
}

}

Classe CadastroLeilaoPage.java

package br.com.alura.leilao.leiloes;

import org.openqa.selenium.WebDriver;

public class CadastroLeilaoPage {

private WebDriver browser;

public CadastroLeilaoPage(WebDriver browser) {
    this.browser = browser;
}

public void fechar() {
    this.browser.quit();
}

}

Classe LoginPage.java

package br.com.alura.leilao.login;

import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;

import br.com.alura.leilao.leiloes.LeiloesPage;

public class LoginPage {

private static final String URL_LOGIN = "http://localhost:8080/login";
private WebDriver browser;

public LoginPage() {
    System.setProperty("webdriver.chrome.driver", "drivers/chromedriver.exe");
    this.browser = new ChromeDriver();
    this.browser.navigate().to(URL_LOGIN);
}

public void fechar() {
    this.browser.quit();
    
}

public void preencheFormularioDeLogin(String username, String password) {
    browser.findElement(By.id("username")).sendKeys(username); // encontrar elementos na página pelo By.id e preencher um imput pelo sendKeys
    browser.findElement(By.id("password")).sendKeys(password);
    
}

public LeiloesPage efetuaLogin() {
    browser.findElement(By.id("login-form")).submit(); // submeter um formulário
    return new LeiloesPage(browser);
    
}

public boolean isPaginaDeLogin() {
    return browser.getCurrentUrl().equals(URL_LOGIN);
}

public String getNomeUsuarioLogado() {
    try {
        return browser.findElement(By.id("usuario-logado")).getText();
    } catch (NoSuchElementException e) {
        return null;
    }
    
}

public void navegaParaPaginaDeLances() {
    this.browser.navigate().to("http://localhost:8080/leiloes/2");
    
}

public boolean contemTexto(String texto) {
    return browser.getPageSource().contains(texto);
}

public boolean isPaginaDeLoginComDadosInvalidos() {
    return browser.getCurrentUrl().equals(URL_LOGIN + "?error");
}	

}

1 resposta

Ei, Henrique, tudo bem?

O seu código está ok! Esse erro pode acontecer por vários motivos, sendo assim, peço por gentileza que verifique os principais que podem causar ele.

  1. Antes de executar seus testes, veja se o servidor da aplicação está em execução e ouvindo na porta correta (neste caso, 8080). Você pode fazer isso tentando acessar http://localhost:8080 diretamente em um navegador.

  2. Verifique se algum firewall ou software antivírus está bloqueando a conexão com o localhost. Isso pode impedir que o Selenium se conecte ao servidor da aplicação.

  3. Certifique-se de que o caminho para o chromedriver está correto e que ele é compatível com a versão do Chrome que você está usando. Às vezes, problemas de compatibilidade podem causar erros inesperados.

Espero que uma dessas sugestões ajude a resolver o seu problema. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!