【问题标题】:Wait time issue in JMeter Webdriver samplerJMeter Webdriver 采样器中的等待时间问题
【发布时间】:2018-12-28 12:19:54
【问题描述】:

我正在使用 JMeter Webdriver 采样器来测量应用程序 UI 响应时间。我正面临等待功能的问题。例如登录页面在 10 到 120 秒之间加载。因此,我在 Webdriver 采样器中为页面加载检查的登录页面提供了以下代码。

var ui=JavaImporter(org.openqa.selenium.support.ui) 
var wait=new support_ui.WebDriverWait(WDS.browser,120)
wait.until(ui.ExpectedConditions.visibilityOfElementLocated(pkg.By.className('logout-btn-hover')))

问题是即使页面加载完成后,JMeter 仍在等待执行下一个操作。如果我减少 120 秒,这个等待时间会减少。但有时应用程序也需要 120 秒才能加载,所以我需要保持 120 秒。

采样器完成操作后,我会将时间写入日志文件。由于等待时间问题,我无法正确计算时间。

【问题讨论】:

    标签: jmeter webdriver webdriverwait


    【解决方案1】:
    1. 您的脚本中至少有 2 个错误,应该类似于:

      var ui=JavaImporter(org.openqa.selenium.support.ui) 
      var wait=new ui.WebDriverWait(WDS.browser,120)
      wait.until(ui.ExpectedConditions.visibilityOfElementLocated(org.openqa.selenium.By.className('logout-btn-hover')))
      
    2. 查看jmeter.log file 是否有任何可疑条目,尤其是以下内容:

      ERROR c.g.j.p.w.s.WebDriverSampler: Expected condition failed: waiting for visibility of element located by By.className: logout-btn-hover (tried for 120 second(s) with 500 milliseconds interval)
      
    3. Double check your CSS selector
    4. 考虑重构您的代码以在循环中查找注销按钮 (?),并为每个步骤提供详细日志记录。示例代码:

      var pkg = JavaImporter(org.openqa.selenium)
      
      WDS.sampleResult.sampleStart()
      WDS.browser.get('http://example.com')
      var start = new Date().getTime()
      var attempt = 1
      while (new Date().getTime() - start < 5000) {
          try {
              var logout = WDS.browser.findElement(pkg.By.className('logout-btn-hover'))
              WDS.log.info('Element found')
              break
          }
          catch (err) {
              WDS.log.info('Attempt # ' + attempt + ', Element not found')
              java.lang.Thread.sleep(1000)
              attempt++
          }
      }
      WDS.sampleResult.sampleEnd()
      
      • 未找到元素时的示例输出:

      • 找到元素时的示例输出:

    查看The WebDriver Sampler: Your Top 10 Questions Answered 文章,了解有关在 JMeter 脚本中使用 WebDriver 采样器的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多