簡體   English   中英

java.lang.ClassCastException:org.openqa.selenium.By $ ById無法轉換為org.openqa.selenium.WebElement

[英]java.lang.ClassCastException: org.openqa.selenium.By$ById cannot be cast to org.openqa.selenium.WebElement

我嘗試在selenium webdriver中使用帶有注解By的 Page Object進行自動化測試,但在Eclipse中顯示以下消息錯誤:

java.lang.ClassCastException:org.openqa.selenium.By $ ById無法轉換為org.openqa.selenium.WebElement

遵循代碼:

類: AcertoPerfilTratamentoOs

public class AcertoPerfilTratamentoOs {

    static WebDriver driver;

    By cidade = By.id("cboCidade");
    By tipoOcorrencia = By.id("txtTipoOcorrencia");

    public AcertoPerfilTratamentoOs(WebDriver driver) {
        this.driver = driver;
    }
    public void camposCidade(String CampoCidade) {
        Select slc = new Select((WebElement) cidade);
        slc.selectByVisibleText(CampoCidade);
    }
    public void campoTipoOcorrencia(String tipOcorrencia) {
        driver.findElement(tipoOcorrencia).sendKeys("reclamação");
    }
}

類: ValidarEstrategiaAcertoPerfilLancamentoManualTest

public class ValidarEstrategiaAcertoPerfilLancamentoManualTest {

    static WebDriver driver;

    @Before
    public void setUp() throws Exception {  
        SelecionarNavegador nav = new SelecionarNavegador();
        driver = nav.iniciarNavegador("chrome", "http://10.5.9.45/BkoMais_Selenium/");
    }

    @Test
    public void logarAplicacao() {      
        try {
            //Login Page
            LogarBkoMaisPage login = new LogarBkoMaisPage(driver);
            login.logar("844502","Bcc201707");

            //Acessar a estratégia
            ProdutoNetEstrategiaAcertoDePerfilLancamentoManual AcertoPerfil = 
                    new ProdutoNetEstrategiaAcertoDePerfilLancamentoManual(driver);
            AcertoPerfil.AcessarEstrategia();

            //Registro Novo
            RegistroNovoCasoPage novoCaso = new RegistroNovoCasoPage(driver);
            novoCaso.registrarCaso();

            //Preenchendo o campo OCORRÊNCIA
            RandowNumber rn = new RandowNumber(driver);
            rn.randomNumber();

            //Preencher Campos da tela Tratamento Os
            AcertoPerfilTratamentoOs po = new AcertoPerfilTratamentoOs(driver);
            po.camposCidade(" ALMIRANTE TAMANDARE ");
            po.campoTipoOcorrencia("reclamação");

        }catch(Exception e) {
            System.out.println("Mensagem de erro: " +e);
        }
    }

    @After
    public void tearDown() throws Exception {
        //Thread.sleep(5000);
        //driver.quit();
    }
}

ValidarEstrategiaAcertoPerfilLancamentoManualTest

錯誤消息告訴您出了什么問題: org.openqa.selenium.By$ById cannot be cast to org.openqa.selenium.WebElement我假設這是由以下原因引起的: Select slc = new Select((WebElement) cidade); 嘗試遵循以下步驟(假設Select具有使用WebElement的構造函數: Select slc = new Select(driver.findElement(cidade));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM