0

我正在使用 JavaScript 上 Jmeter 中的 WebDriver Sampler 处理以下场景:

  1. 在主窗口中执行多个请求;

  2. 对于 1 笔特定交易:

    2.1。- 从初始窗口切换到新创建的窗口(两个窗口具有相同的标题),

    2.2. - 允许麦克风和摄像头(打开新窗口后会出现浏览器对话框并阻止某些页面元素的活动,直到不允许摄像头和麦克风),

    2.3. - 在页面上查找元素并使用它们执行操作(我为此编写了 javascript 片段),

    2.4. - 关闭第二个窗口;

  3. 返回初始主窗口;

  4. 在主窗口中处理请求。

对于第 1 步和第 4 步,我只需要 js 代码即可。

对于第 3 步,我想使用解决方案:

//切换回初始主窗口:

WDS.browser.switchTo().defaultContent();

但我仍然在 2.1 和 2.2 上。

2.1、2.2 和 2.4 的最佳解决方案是什么?

对于 2.2。我尝试在 Firefox WebDriver 配置中使用“设置首选项”部分并使用以下内容填充它: 在此处输入图像描述

缺点:第一 - 不幸的是,它不起作用,第二 - 我需要这些偏好与 Chrome 一起工作,而不仅仅是在 FF 中。

您能否提供有用的提示,请使用 2.1、2.2、2.4?

4

1 回答 1

1

我不认为这个模态弹出窗口是 WebDriver 可控制的“窗口”,它是操作系统的本机窗口,因此您将无法使用 WebDriver 函数与其交互,选项位于:

  1. 使用java.awt.Robot类模拟键盘输入

  2. 使用底层操作系统方法定位窗口并向其发送相应消息,入口点为JNI

  3. 在浏览器启动级别抑制这些弹出窗口:

    不幸的是,这两种方法都不适用于Firefox 驱动程序配置Chrome 驱动程序配置,因此您必须切换到JSR223 Sampler 和 Groovy 语言来实现您的测试场景

于 2021-06-10T06:44:57.700 回答