![](/img/trans.png)
[英]java.lang.ClassCastException: class org.openqa.selenium.By$ByXPath cannot be cast to class 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();
}
}
錯誤消息告訴您出了什么問題: 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.