performance-testing 相关问题

性能测试:测试以确定软件产品性能的过程。性能测试是通过执行实际预期的用户模式来识别和消除应用程序或系统性能瓶颈的过程。

JMeter WebDriver - 无法找到元素

<div id="orgData" data-bind="with: orgData"></div> <div id="page" class="page"> <header id="header" class="header-container"> <div class="message-area" data-bind="with: statusboard.dynamicMessageArea, css: { 'has-message': statusboard.dynamicMessageArea.rotatingCalls().length > 0, 'code': (statusboard.dynamicMessageArea.displayedCall().isCode()) || (statusboard.dynamicMessageArea.displayedCall().isEmergency() && statusboard.dynamicMessageArea.displayedCall().isCallRedColor() == true) , 'callBlueColor': statusboard.dynamicMessageArea.displayedCall().isCode() && statusboard.dynamicMessageArea.displayedCall().isCodeBlueColor() == true, 'callOrangeColor': statusboard.dynamicMessageArea.displayedCall().isEmergency() && statusboard.dynamicMessageArea.displayedCall().isEmergencyOrangeColor() == true && statusboard.dynamicMessageArea.displayedCall().isCode() === false}"> <div id="dmaCallIcon" class="header-container__message-icon icon" data-bind="css: { 'call-code': displayedCall().iconState() === 1, 'call-emergency': displayedCall().iconState() === 2 }"></div> <div> <div class="message-area__call ellipsis" id="dmaCall" data-bind="text: displayedCall().name"></div> <p class="message-area__spacer">&bull; </p> <div class="message-area__room ellipsis" id="dmaLocation" data-bind="text: displayedCall().activeLocation().displayName() + ', ' + displayedCall().unit().longName()"></div> </div> </div> <div class="controls"> <div class="units" data-bind="with: dialogHelper.configSettingsDialog.model.unitSelector"> <div class="selectedUnits"> <div> <p><span id="labelSavedSelections" data-bind="visible: savedUnits().length > 0, text: savedUnits().length + ' of ' + availableUnitsInSavedCampus().length + ' units'"></span></p> <p data-bind="visible: savedUnits().length == 0" id="labelNoSelections">NO UNITS SELECTED</p> </div> <div> <p class="selectedCampus" data-bind="visible: savedCampusName().length > 0 ,text: savedCampusName" id="labelSelectedCampus"></p> <p data-bind="visible: savedCampusName().length == 0" id="labelNoCampusSelections">NO CAMPUS SELECTED</p> </div> </div> </div> <div class="views" data-bind="css: dialogHelper.savedViewClass"> <div> <a id="savedViewButton" href="#" data-bind="click: dialogHelper.showSavedViewMenu"> <i class="icon savedViews"> <i class="icon changes" data-bind="css: { 'hidden': !globalHelper.unsavedChanges() }"></i> </i> </a> </div> </div> <div class="settings"> <a id="settingsButton" href="#" data-bind="click: dialogHelper.showSettingsMenu"> <i class="icon settings"></i> </a> </div> <div class="logo"> <img src="/statusboard/svg/hr-logo-blue-no-tag.svg" /> </div> </div> </header> 从上面的页面源代码中,我需要等待元素“settingsButton”加载。然后点击它。 我尝试过 wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector('main-body.application-unavailable'))) 和 wait.until(ExpectedConditions.elementToBeClickable(By.id('settingsButton'))) 但是它并没有按预期工作。我的脚本超时并抛出错误消息。 我在这里遗漏了什么吗?请帮忙。 感谢您的支持。 问候, Selenium 能够使用您提供的代码片段查找元素。 您可以自行检查,将以下代码放入WebDriver Sampler中: WDS.sampleResult.sampleStart() def html = '<div id="orgData" data-bind="with: orgData"></div>\n' + '<div id="page" class="page">\n' + '<header id="header" class="header-container">\n' + '<div class="message-area" data-bind="with: statusboard.dynamicMessageArea, css: { \'has-message\': statusboard.dynamicMessageArea.rotatingCalls().length > 0,\n' + '\'code\': (statusboard.dynamicMessageArea.displayedCall().isCode()) || (statusboard.dynamicMessageArea.displayedCall().isEmergency() && statusboard.dynamicMessageArea.displayedCall().isCallRedColor() == true) ,\n' + '\'callBlueColor\': statusboard.dynamicMessageArea.displayedCall().isCode() && statusboard.dynamicMessageArea.displayedCall().isCodeBlueColor() == true,\n' + '\'callOrangeColor\': statusboard.dynamicMessageArea.displayedCall().isEmergency() && statusboard.dynamicMessageArea.displayedCall().isEmergencyOrangeColor() == true && statusboard.dynamicMessageArea.displayedCall().isCode() === false}">\n' + '<div id="dmaCallIcon" class="header-container__message-icon icon" data-bind="css: { \'call-code\': displayedCall().iconState() === 1, \'call-emergency\': displayedCall().iconState() === 2 }"></div>\n' + '<div>\n' + '<div class="message-area__call ellipsis" id="dmaCall" data-bind="text: displayedCall().name"></div>\n' + '<p class="message-area__spacer">&bull; </p>\n' + '<div class="message-area__room ellipsis" id="dmaLocation" data-bind="text: displayedCall().activeLocation().displayName() + \', \' + displayedCall().unit().longName()"></div>\n' + '</div>\n' + '</div>\n' + '<div class="controls">\n' + '<div class="units" data-bind="with: dialogHelper.configSettingsDialog.model.unitSelector">\n' + '<div class="selectedUnits">\n' + '<div>\n' + '<p><span id="labelSavedSelections" data-bind="visible: savedUnits().length > 0, text: savedUnits().length + \' of \' + availableUnitsInSavedCampus().length + \' units\'"></span></p>\n' + '<p data-bind="visible: savedUnits().length == 0" id="labelNoSelections">NO UNITS SELECTED</p>\n' + '</div>\n' + '<div>\n' + '<p class="selectedCampus" data-bind="visible: savedCampusName().length > 0 ,text: savedCampusName" id="labelSelectedCampus"></p>\n' + '<p data-bind="visible: savedCampusName().length == 0" id="labelNoCampusSelections">NO CAMPUS SELECTED</p>\n' + '</div>\n' + '</div>\n' + '</div>\n' + '<div class="views" data-bind="css: dialogHelper.savedViewClass">\n' + '<div>\n' + '<a id="savedViewButton" href="#" data-bind="click: dialogHelper.showSavedViewMenu">\n' + '<i class="icon savedViews">\n' + '<i class="icon changes" data-bind="css: { \'hidden\': !globalHelper.unsavedChanges() }"></i>\n' + '</i>\n' + '</a>\n' + '</div>\n' + '</div>\n' + '<div class="settings">\n' + '<a id="settingsButton" href="#" data-bind="click: dialogHelper.showSettingsMenu">\n' + '<i class="icon settings"></i>\n' + '</a>\n' + '</div>\n' + '<div class="logo">\n' + '<img src="/statusboard/svg/hr-logo-blue-no-tag.svg" />\n' + '</div>\n' + '</div>\n' + '</header>' new File('page.html').text = html WDS.browser.get('file://' + System.getProperty('user.dir') + '/page.html') def element = WDS.browser.findElement(org.openqa.selenium.By.id('settingsButton')) WDS.log.info('Settings button present: ' + element.isEnabled()) WDS.sampleResult.sampleEnd() 您应该在 jmeter.log 文件中看到以下行: INFO c.g.j.p.w.s.WebDriverSampler: Settings button present: true 因此,您要查找的元素可能位于 iframe 或 Shadow Dom 中。我们需要查看完整页面源代码才能提供帮助。

回答 1 投票 0

如何优化 Ansible playbook 在 SSH 连接方面的性能?

我有下面的剧本 test1.yml,它获取此目录 /var/myfile/pdf 下 26 个子文件夹的 istat 数据。 任务: - 名称:列出目录 原始:“ls -d”/var/myfile/pdf/*/&

回答 1 投票 0

JMeter WebDriver - 无法识别元素

我有一个采样器,如下所示: 导入 org.openqa.selenium.* 导入 org.openqa.selenium.support.ui.* 导入 java.time.* def user = WDS.browser.findElement(By.id('loginUserName')) user.sendKeys('

回答 1 投票 0

startAgent.bat startAgent在运行进程运行时自行关闭

我想使用 jmeter perfmon metrick Collector 监听器查看资源使用情况,对于这个监听器,我支持使用 PerfMon Server Agent 的监听器。 但在我运行 startAgent.bat 文件并执行 r...

回答 1 投票 0

PerfMon Metrics Collector 无法连接

我在docker容器中有一个数据库,我创建了一个api来从数据库获取数据。我想查看数据库在使用CPU、内存、I/O 和网络方面的性能。 因此我使用 h...

回答 1 投票 0

Jmeter 抛出“java.lang.OutOfMemoryError:Java 堆空间”错误

当我尝试使用 HTTP(S) 测试脚本记录器捕获 Jmeter 中的流程或使用单个用户运行它时,它会抛出以下错误并挂起。 我已经尝试过多种POS...

回答 1 投票 0

如何将JMeter中的负载分散到运行一段时间?

- 测试计划 用户定义变量 HTTP 请求默认值 线程组 1(设置为执行 100 个循环计数) 交易控制器1 HTTP 请求 1 线程组 2(设置为执行 600 循环计数)

回答 1 投票 0

为什么我的 JMeter 响应断言不起作用

我正在尝试执行一个简单的断言来检查在示例结果和响应数据中出现“未找到”的负面实例,这是预期的。 我努力了: 适用于:主样\子

回答 1 投票 0

API 响应时间显着差异

使用 JMeter 对单个 API 进行了 30 个用户 5 分钟的负载测试。分析同一时间内 Datadog 中的响应时间。 JMeter 和 Datadog 的响应时间指标如下:

回答 1 投票 0

JMeter WebDriver Sampler:将 JavaScript 转换为 Groovy 脚本

我有一个 WebDriver Sampler,它可以与 JavaScript 完美配合。需要将其转换为 Groovy。请找到下面的片段: var pkg = JavaImporter(org.openqa.selenium) var user = WDS.browser.

回答 1 投票 0

适合性能测试的监听器

我正在使用jmeter进行数据库性能测试,为了评估我想查看吞吐量、延迟、资源利用率和错误率的结果。为此,什么是正确的听众...

回答 1 投票 0

JMeter WebDriver Sampler:您的连接不是私有的

我正在尝试收集浏览器(客户端)上的性能指标。通过浏览器启动 URL 时,我收到以下消息: 错误 请在下面找到我的代码: 脚本 我该如何解决?

回答 1 投票 0

如何在 Chrome 开发者工具中延迟脚本/资源加载

有没有办法通过 Chrome 开发者工具为 Google Chrome 浏览器中的脚本/资源加载添加时间延迟?或者完全阻止脚本加载? 我想这样做的原因是...

回答 6 投票 0

如何解决JMeter中的SSL证书和错误响应代码400问题?

我无法使用 JMeter 中的相关记录器来记录脚本。当我打开浏览器进行录制时,我收到一条错误消息,指出“URL 的 SSL 证书出现问题...

回答 1 投票 0

在 Postgres 10 中快速生成 100 GB Postgres 关系

我正在尝试快速生成一个 100 GB 的 postgres 表。我需要这个关系来预热缓冲区缓存。我尝试过使用 bytea 和文本字段。这使得实际关系很小并且...

回答 2 投票 0

JMeter - 桌面应用程序的脚本创建

我正在尝试通过 JMeter 模拟桌面应用程序。尝试记录流量。它没有捕获所有请求。场景是 1. 启动 exe 文件。 2. 登录。 3. 切换选项卡。 ...

回答 1 投票 0

如何解读ddosify引擎报告?

我正在阅读 ddosify 引擎的文档,我不太清楚迭代次数是否并行运行,或者是否使用属性 engine_mode 进行参数化? 另外,...

回答 1 投票 0

有谁知道如何在JMeter中将上传的图片转换为base64编码并通过HTTP body发送?

我正在研究 IM(图像管理)系统性能 ATM,并且在将图像元数据 (base64) 发送到端点时遇到困难。这里我们不直接上传文件到服务器,我们将发送图像

回答 1 投票 0

JMETER 5.6.3,查看结果树的状态为彩色警告:Java异常错误

我正在使用 JMeter,在运行第一个测试时,查看结果表的状态为红色警告。我还仔细检查了网络、java路径并从官方安装/重新安装jmeter

回答 1 投票 0

使用 jmeter 测试批处理作业的性能

我是jmeter的新手。我有一个场景,我需要从 jmeter 运行批处理作业。此批处理作业将触发 SAP HANA 应用程序中的发票,并通过 API 管理器发票将到达末尾

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.