当前位置:   article > 正文

吐血整理,Selenium自动化测试优化执行速度小技巧(汇总)_怎么使selenium快到飞起

怎么使selenium快到飞起


前言

让自动化测试脚本正常工作只是自动化测试的第一步,由于自动化脚本会经常执行并更新,因此测试脚本需要,可以快速执行、容易维护、容易阅读等。

在page_source中断言text比直接使用text属性断言要快

我们经常会需要断言页面中的某个部分包含一些具体的文本,下面的语句的输出结果是相同的

driver.page_source 
driver.find_element(:tag_name => ‘body') 
  • 1
  • 2

不过对于第二条语句来说,selenium需要去分析页面的结构,最后再找到对应的元素并输入结果,这显然是需要花费时间的。如果页面比较小的化,那么二者的差距可能不大,不过对于大的页面来说,第一条语句速度明显会更快一些。

使用page text的情况

expect(driver.find_element(:tag_name => "body").text).to include("platform- and language-neutral wire protocol")
  • 1

使用 page source的情况

expect(driver.page_source).to include("platform- and language-neutral wire protocol")
  • 1

来看一下差距

Method 1: Search whole document text took 0.823076 seconds 
Method 2: Search whole document HTML took 0.039573 seconds
  • 1
  • 2

当然两者的使用场景是不太相同的,不过我们这里只关注性能,显然page source要更快速一些。

元素越具体,获取text的速度越快

根据经验,我们可以通过缩小更具体的 Web 控件的范围来节省执行时间。下面的两个断言语句在很大程度上实现了相同的功能,但在执行时间上有很大的不同。

expect(driver.find_element(:tag_name, “body”)
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/898812
    推荐阅读
    相关标签
      

    闽ICP备14008679号