JMeter XML报告中java.net.URL标签无法获取正确着陆页URL问题
JMeter中修改<java.net.URL>标签为着陆页URL的解决方案
你的问题核心是没有显式设置SampleResult的URL属性——当前代码仅修改了采样器标签和响应数据,但XML里<java.net.URL>对应的值由WDS.sampleResult.getURL()控制,默认会沿用之前请求的仪表盘URL,不会自动更新为新页面的URL。
修改后的代码
// 获取当前着陆页URL var currentURL = WDS.browser.getCurrentUrl(); WDS.log.info("Current URL " + currentURL); // 将URL存入变量(保留原有逻辑) WDS.vars.put("currentURL", currentURL); // 修改采样器标签 WDS.sampleResult.setSampleLabel(" Active Member - " + currentURL); // 关键操作:更新SampleResult的URL属性,对应XML中的<java.net.URL>标签 WDS.sampleResult.setURL(new java.net.URL(currentURL)); // 设置响应数据(保留原有逻辑) WDS.sampleResult.setResponseData("Active Member Page - " + currentURL, "UTF-8"); WDS.log.info("Active Member Page load correctly.");
额外注意事项
- 确保调用
getCurrentUrl()前页面已完全加载:如果点击元素后跳转较慢,建议添加显式等待,避免获取到跳转前的旧URL,示例如下:// 等待页面标题包含目标关键词,最多等待10秒 var wait = new org.openqa.selenium.support.ui.WebDriverWait(WDS.browser, 10); wait.until(org.openqa.selenium.support.ui.ExpectedConditions.titleContains("目标页面标题关键词"));
内容的提问来源于stack exchange,提问作者ritah
相关产品推荐
相关产品推荐

