小编use*_*166的帖子

如何使用Mockito模拟WebDriver?

我希望能够对我的Selenium集成测试进行单元测试,并且为此我需要能够模拟驱动程序和测试所需的元素,这是一个返回元素名称的函数的快速示例。 。

public class demo {

  private WebDriver mockDriver;
  private WebElement mockElement;

  @Before
  public void setUp(){
    this.mockDriver = mock(WebDriver.class);
    this.mockElement = mock(WebElement.class, withSettings().name("elementName"));
    when(this.mockDriver.findElement(By.id("testmock"))).thenReturn(mockElement);
  }

  public String getName(String id){
    WebElement testElement = mockDriver.findElement(By.id(id));
    return testElement.getAttribute("name");
  }

  @Test
  public void assertElementName() throws InterruptedException {
    Assert.assertTrue(getName("testmock").equals("elementName"));
  }
}
Run Code Online (Sandbox Code Playgroud)

这给我带来java.lang.NullPointerException了回报getName()。我显然使用了这个错误,但是我不知道怎么做。任何在这方面有经验的人都可以为我指明正确的方向?

java selenium webdriver mockito

5
推荐指数
1
解决办法
3785
查看次数

标签 统计

java ×1

mockito ×1

selenium ×1

webdriver ×1