需要有关使用selenium和jmeter(java)进行webrtc性能测试的帮助吗

9gm1akwq  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(494)

我正在尝试对webrtc应用程序进行自动化测试,并尝试对多个用户进行测试。我创建了如下设置。
`

ArrayList<String> prefs = new ArrayList<String>();
    prefs.add("--use-fake-device-for-media-stream");
    prefs.add("--use-fake-ui-for-media-stream");
    System.setProperty("webdriver.chrome.driver", "C:\\....\\resources\\chromedriver.exe");

    ChromeOptions options = new ChromeOptions();
    options.addArguments(prefs);
    driver = new ChromeDriver(options);

    driver.get("https://......");`

但当我使用“-use fake ui for media stream”时,以下远程地址会出现在应用程序媒体服务器的日志中。(我使用此选项禁用摄像头和麦克风的安全弹出窗口。)
远程地址看起来像:79beeb9e-ff01-4e69-906c-5be9cab979e6当我不使用它时,远程地址看起来像:172.17.x.x
因此,我无法连接到会议室,服务器拒绝远程地址。
当我删除“-use fake ui for media stream”并放置“-user data dir=c:\users….\local\temp\…”时,我克服了这个问题,但这次我只能连接到jmeter上的一个chromedriver,其他chromedriver无法工作。我使用junit请求将测试用例集成到jmeter中。
我想为多个用户使用此代码,但我只能为一个用户使用,否则我无法连接。
我怎样才能克服这个问题?

n3h0vuf2

n3h0vuf21#

当启动第一个chromedriver示例时,配置文件目录被锁定,第二个、第三个等示例无法重复使用。
您可以执行以下操作:

prefs.add("--profile-directory=User" + org.apache.jmeter.threads.JMeterContextService.getContext().getThreadNum());

因此,每个示例都有自己的单独概要文件文件夹。
更多信息:
使用selenium打开多个chrome配置文件
jmetercontextservice javadoc
如何将junit与jmeter一起使用

相关问题