java – 如何处理页面对象模型中的框架
发布时间:2020-12-15 02:12:13 所属栏目:Java 来源:网络整理
导读:你能告诉我如何处理页面对象模型中的帧吗? 尝试使用线性脚本时,同样有效但当我将相同的内容移动到页面对象模型时,脚本会失败. 目前在我的框架中是我遵循的流程: 将switchTo()作为通用函数并放在通用库中. 在需要将控件移动到所需帧的页面中,我调用了通用库
你能告诉我如何处理页面对象模型中的帧吗?
尝试使用线性脚本时,同样有效但当我将相同的内容移动到页面对象模型时,脚本会失败. 目前在我的框架中是我遵循的流程: >将switchTo()作为通用函数并放在通用库中. 谁能告诉我可能的问题? 公共图书馆: public void switchToFrame(int frame) { try { Driver.driver.switchTo().frame(frame); System.out.println("Navigated to frame with name " + frame); } catch (NoSuchFrameException e) { System.out.println("Unable to locate frame with id " + frame + e.getStackTrace()); } } 页面: public void createticket(String interactionTitle,String interactionDesc,String category,String originText,String priorityText,String impactText) throws InterruptedException { switchToFrame(1); System.out.println("Navigated to Frame"); waitForIdPresent("X49"); titleEdt.sendKeys(interactionTitle);//unable to enter here descEdt.sendKeys(interactionDesc); dropDown(origipublic void createInteraction(String interactionTitle,String impactText) throws InterruptedException { switchToFrame(1); System.out.println("Navigated to Frame"); waitForIdPresent("X49"); Driver.driver.findElement(By.id("X49")).sendKeys(interactionTitle); descEdt.sendKeys(interactionDesc); dropDown(originDropDown,originText); } 测试脚本: @Test public void createTestTicket() throws EncryptedDocumentException,InvalidFormatException,IOException,InterruptedException{ homePage.getBtn().click(); homePage.getLnk().click(); interactionDetails.createTicket("test ticket","test ticket","incident","CALL","P1 / <1hour","1 - Enterprise"); } 解决方法
我认为,waitForIdPresent(“id”)在您的情况下抛出错误.
在您提供的评论中,您 public void waitForIdPresent(String wbId) { WebDriverWait wait = new WebDriverWait(Driver.driver,20); wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.name(wbId))); ? } 在此将By.name更改为By.id. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |