0

我是新来的自动化,并希望创建一个自动化测试之间切换的自动化,可以做以下操作:从选项卡要创建两个标签

打开一个标签---点击,并得到一些信息

切换到另一个选项卡---单击并立即从此选项卡获取一些信息。

比较资讯。

我们使用页面对象模型从一个页面获取信息。但是现在,我切换到另一个选项卡 - 它成功切换选项卡,但未找到任何元素。

有什么想法?

+0

可能是您正在查找的元素是框架/ iframe在新页面(选项卡)打开吗? – Surya 2015-01-21 08:55:20

回答

1

问题我会问的是,

  1. 是元素定位是否正确?
  2. 这是一个独特的元素定位?
  3. 这是同步问题吗?在查找元素之前,您是否足够等待页面加载?
  4. 这是浏览器特有的问题吗?它是否一致?

此外请确保您将驱动程序对象从一个页面对象传递给另一个。像,

public class PageOne { 
    public PageOne(WebDriver driver) { 
    //do something in constructor 
    } 
    public void someMethodInPage1() { 
     driver.findElement(By.id("button1")).click(); 
     PageTwo pageTwo = new PageTwo(driver); 
     pageTwo.someMethodInPage2(); 
    } 
} 

public class PageTwo { 
    private WebDriver driver; 
    public PageTwo(WebDriver driver) { 
    //do something in constructor 
    this.driver = driver; 
    } 
public void someMethodInPage2() { 
     driver.findElement(By.id("button2")).click(); 
    } 
}