【问题标题】:Get waited time获得等待时间
【发布时间】:2015-10-19 07:05:05
【问题描述】:

我需要检查一个元素是否从页面中消失,下面的代码对我来说很好:

def checkavailabilitycheck
    outtime  = 10
    wait = Selenium::WebDriver::Wait.new(:timeout => outtime)

    begin
        wait.until { $browser.find_elements(:css, 'img[src="preloader5.gif"]').size == 7 }
        puts "Check succeeded"
    rescue Selenium::WebDriver::Error::TimeOutError
        puts "Check aborted, canceld after " + outtime.to_s + " seconds"
    end
end

现在我想添加类似的东西

puts "Check succeeded after " + wait.tookWhatEverTime + " seconds"

知道怎么做吗?

【问题讨论】:

    标签: ruby selenium webtest


    【解决方案1】:

    你可以这样做:

    w1 = Time.now
    begin
        wait.until { $browser.find_elements(:css, 'img[src="preloader5.gif"]').size == 7 }
        puts "Check succeeded"
    rescue Selenium::WebDriver::Error::TimeOutError
        puts "Check aborted, canceld after " + outtime.to_s + " seconds"
    end
    w2 = Time.now
    puts "Check succeeded after " + (w2 - w1) + " seconds"
    

    【讨论】:

    • 你比我早 25 秒发布第一个答案 :)
    【解决方案2】:

    一种方法是您可以在进入等待之前保存当前时间。并在等待中获得时间。

    两者的区别在于等待时间。

    以下是逻辑的伪代码

    timeBeforeEnteringThewait = Time.now
    //Code for the wait
    // after the wait is finished...
    timeAfterThewait = Time.now
    
    elapsedTime = timeAfterThewait - timeBeforeEnteringThewait 
    

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 2012-11-05
      • 2023-04-07
      相关资源
      最近更新 更多