简体   繁体   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

I try make a automation test using Page Object with annotation By in selenium webdriver, but de Eclipse show-me the following message error: 我尝试在selenium webdriver中使用带有注解By的 Page Object进行自动化测试,但在Eclipse中显示以下消息错误:

java.lang.ClassCastException: org.openqa.selenium.By$ById cannot be cast to org.openqa.selenium.WebElement java.lang.ClassCastException:org.openqa.selenium.By $ ById无法转换为org.openqa.selenium.WebElement

Follow the code: 遵循代码:

Class: AcertoPerfilTratamentoOs 类: 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");
    }
}

Class: ValidarEstrategiaAcertoPerfilLancamentoManualTest 类: 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 ValidarEstrategiaAcertoPerfilLancamentoManualTest

The error message is telling you what is wrong: org.openqa.selenium.By$ById cannot be cast to org.openqa.selenium.WebElement I'm assuming this is caused by: Select slc = new Select((WebElement) cidade); 错误消息告诉您出了什么问题: org.openqa.selenium.By$ById cannot be cast to org.openqa.selenium.WebElement我假设这是由以下原因引起的: Select slc = new Select((WebElement) cidade); Try to following instead (assuming Select has a constructor that takes a WebElement: Select slc = new Select(driver.findElement(cidade)); 尝试遵循以下步骤(假设Select具有使用WebElement的构造函数: Select slc = new Select(driver.findElement(cidade));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.ClassCastException: 类 org.openqa.selenium.By$ByXPath 不能转换为类 org.openqa.selenium.WebElement - java.lang.ClassCastException: class org.openqa.selenium.By$ByXPath cannot be cast to class org.openqa.selenium.WebElement 线程“主”中的异常java.lang.ClassCastException:无法将java.util.ArrayList强制转换为org.openqa.selenium.WebElement - Exception in thread “main” java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.openqa.selenium.WebElement 线程“ main”中的异常java.lang.ClassCastException:java.util.HashMap无法转换为org.openqa.selenium.WebElement - Exception in thread “main” java.lang.ClassCastException: java.util.HashMap cannot be cast to org.openqa.selenium.WebElement java.lang.ClassCastException:无法转换为 org.openqa.selenium.WebElement 使用 executeScript() 从 shadowHost 返回 shadowRoot - java.lang.ClassCastException: cannot be cast to org.openqa.selenium.WebElement using executeScript() to return shadowRoot from shadowHost java.lang.ClassCastException:通过Selenium执行测试时,无法将java.base / java.lang.String强制转换为org.openqa.selenium.WebElement - java.lang.ClassCastException: java.base/java.lang.String cannot be cast to org.openqa.selenium.WebElement when executing test through Selenium java.lang.ClassCastException: org.openqa.selenium.firefox.FirefoxDriver cannot be cast to org.openqa.selenium.interactions.HasTouchScreen - java.lang.ClassCastException: org.openqa.selenium.firefox.FirefoxDriver cannot be cast to org.openqa.selenium.interactions.HasTouchScreen “org.openqa.selenium.By”中的“id(java.lang.String)”不能应用于“(org.openqa.selenium.By)” - 'id(java.lang.String)' in 'org.openqa.selenium.By' cannot be applied to '(org.openqa.selenium.By)' 不兼容的类型:java.lang.Object无法转换为org.openqa.selenium.WebElement - incompatible types: java.lang.Object cannot be converted to org.openqa.selenium.WebElement java.lang.ClassCastException: com.sun.proxy.$Proxy8 不能转换为 org.openqa.selenium.internal.WrapsDriver - java.lang.ClassCastException: com.sun.proxy.$Proxy8 cannot be cast to org.openqa.selenium.internal.WrapsDriver 收到错误-java.lang.ClassCastException:org.openqa.selenium.chrome.ChromeDriver无法转换为com.initialization.DriverInitialization - Getting the Error - java.lang.ClassCastException: org.openqa.selenium.chrome.ChromeDriver cannot be cast to com.initialization.DriverInitialization
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM