多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

WebDriver中执行JavaScript-自动化测试

更新时间:2022-05-05 09:18:52 作者:多测师 浏览:71

  首先要通过向下转型 JavascriptExecutor js = (JavascriptExecutor) driver; 转为JavascriptExector对象,然后再调用executeScript()方法来执行JS。

WebDriver中执行JavaScript-自动化测试

  例:

  1. 打开Google首页

  2. 通过JS获取网页中的title --- document.title

  3. 获得网页中链接的数量 ----var links = document.getElementsByTagName('A'); return links.length

  具体实现如下

  package com.example.tests;

  import static org.junit.Assert.*;

  import org.junit.*;

  import org.openqa.selenium.*;

  import org.openqa.selenium.ie.InternetExplorerDriver;

  public class test {

  @Test

  public void testJavaScriptCalls() {

  WebDriver driver = new InternetExplorerDriver();

  driver.get("http://www.google.com.hk");

  JavascriptExecutor js = (JavascriptExecutor) driver;

  String title = (String) js.executeScript("return document.title");

  assertEquals("Google", title);

  long links = (Long) js.executeScript("var links = "

  + "document.getElementsByTagName('A'); "

  + "return links.length");

  assertEquals(32, links);

  driver.close();

  }

  }

  从javaScript代码中返回数据,我们需要使用return关键字。基于返回值的类型,我们需要对executeScript() 方法进行转型。对于带小数点的值,使用Double类型,非小数值可以使用Long类型,布尔值可以使用Boolean类型,如果返回的是HTML节点,可以使用 WebElement类型,文本值,可以使用String类型。如果返回的是对象列表,基于对象类型的任何值都可以。

  以上内容为大家介绍了自动化测试中的WebDriver中执行JavaScript,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部