9AA WebDriver – 执行 JavaScript 代码

    嗨冠军! 今天就与浏览器进行一些高质量的互动!! 因此,您能猜出浏览器首选的语言吗? 是的,你说对了。 确实是 JavaScript 。 如果您使用的是 Chrome,则单击“F12”将打开“开发人员工具”,这有助于我们直接从浏览器执行 JavaScript。 某些动作(例如滚动,显示警报等)变得更易于使用 JavaScript 进行管理。

    除此之外,在其他情况下,我们可能找不到合适的 Selenium API 来执行特定操作。 但是我们可以通过执行 JavaScript 代码来执行该操作。 Selenium WebDriver 提供了一个界面,可以帮助我们做到这一点!

    …您听说过,就像那些名人一样。 好吧,现在是我们该去见那颗璀璨的星星的时候了。 JavascriptExecutor不需要添加任何外部 JAR 文件或插件。 只需导入一个包即可完成工作,“导入org.openqa.selenium.JavascriptExecutor”。 它有两种重要的方法可以执行我们的 Selenium 测试中的 JavaScript 代码,以自动化测试中的应用,即

    • executeAsyncScript(script, args)

    JavascriptExecutor methods

    导入以下包,import org.openqa.selenium.JavascriptExecutor;

    创建一个对象,并通过将其类型转换为JavascriptExecutor来分配驱动程序对象。

    这样创建的JavascriptExecutor对象允许我们从 Selenium 测试中执行 JavaScript 代码。

    此“”方法采用两个参数。 第一个是 JavaScript 代码,第二个是 Java 脚本代码所需的可选参数列表。

    让我们看一个测试案例,实现到目前为止所介绍的技术,

    1. 打开 Firefox 浏览器
    2. 导航到演示站点()
    3. 垂直向下滚动页面 100 像素
    4. 刷新页面
    5. 导航到 Google 主页
    6. 使用 JavaScript 代码执行上述三个操作

    执行结果:

    为每行代码提供了注释,使其易于说明。

    在 JUnit 窗格中,绿色条显示测试用例已成功执行。 控制台窗口显示没有任何错误。 它还按预期显示所有打印的消息。

    是时候尝试今天的技能了。 是的,戴上安全帽,以免遇到任何异常!

    所有代码文件都放置在 中,以方便访问。 您可以为仓库加注星标和分支以方便使用。 请仔细阅读“README.md”文件以获取明确说明。