在WebDriver中执行Javascript

WebDriver是一个很强大的UI测试的工具,它提供了很多和浏览器交互的API,比如getText(),click()等。

但还有一些常用的功能它没有提供,比如setAttribute。对于一个WebElement,测试中只能通过getAttribute()来得到它的某些属性,比如CSS,但不能改变它的属性。估计这是因为WebDriver最初设计的时候,动态地改动属性还是比较危险或者说不确定的操作,当然现在已经不是这样了。如果你想在测试中更改WebElement属性,比如给一个Input设置内容,可以通过下面的方法:

是的,从代码中可以看出,WebElement和String对象都可以直接做为参数传入,很方便。在Javascript中只要使用arguments[]数组就可以引用到了。

调用的时候,大致是这样的:

当然,对于设置Input的内容,也可以使用WebElement.sendKeys()方法。但显然JavascriptExecutor的功能更强大,这里只是抛砖引玉一下。

你可能感兴趣的:(在WebDriver中执行Javascript)