有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么返回到选项卡后弹出窗口会损坏?

我有一个场景:在https://cloud.google.com/products/calculator上填写表单,然后单击电子邮件估计(弹出窗口打开),然后打开并切换到新选项卡(https://yopmail.com/en/email-generator),复制随机电子邮件,然后切换到上一个选项卡(https://cloud.google.com/products/calculator)。在弹出窗口(通过电子邮件发送您的评估)之后,它变得怪异、不活跃,但在手动测试中,一切都正常。有什么问题吗

GIF record with a problem

public void fillOutForm() {
    estimatePage = new GoogleCloudHomePage(driver)
    .openPage()
    .search(SEARCH_TERM)
    .goToPricingCalculatorFromSearchResults()
    .switchToCalculatorFrame()
    .selectComputeEngineItem()
    .setNumberOfInstances(NUMBER_OF_INSTANCES)
    .setOperatingSystem(OPERATING_SYSTEM)
    .setMachineClass(MACHINE_CLASS)
    .setSeries(SERIES)
    .setMachineType(MACHINE_TYPE)
    .setGPU(NUMBER_OF_GPUS, GPU_TYPE)
    .setLocalSSD(LOCAL_SSD)
    .setDatacenterLocation(DATACENTER_LOCATION)
    .setCommittedUsage(COMMITTED_USAGE)
    .addToEstimate();
    emailEstimatePage = estimatePage.goToEmailEstimate();
    tabManager = new TabManager(driver);
    tabManager.openNewTab();
    tabManager.switchToTab(1);
    emailGeneratorPage = new YopmailHomePage(driver)
        .openPage()
        .generateNewEmailAddress()
        .copyEmailAddress();
    tabManager.switchToTab(0);

//问题就在这里。弹出窗口已损坏,在此步骤中找不到元素/watch gif

  emailEstimatePage.switchToContentFrame();
    emailEstimatePage.setEmail(); 
    emailEstimatePage.sendEmail();
    tabManager.switchToTab(1);
    emailInboxPage = new YopmailHomePage(driver)
        .openPage()
        .goToEmailInboxPage()
        .getGoogleCloudEstimateMessage();
  }

TabManager的代码

public class TabManager {

  public WebDriver driver;

  public TabManager(WebDriver driver) {
    this.driver = driver;
  }

  public void openNewTab() {
    ((JavascriptExecutor) driver).executeScript("window.open()");
  }

  public void switchToTab(int tabIndex) {
    ArrayList<String> tabs = new ArrayList<>(driver.getWindowHandles());
    driver.switchTo().window(tabs.get(tabIndex));
  }
}

共 (0) 个答案