赞
踩
让自动化测试脚本正常工作只是自动化测试的第一步,由于自动化脚本会经常执行并更新,因此测试脚本需要,可以快速执行、容易维护、容易阅读等。
在page_source中断言text比直接使用text属性断言要快
我们经常会需要断言页面中的某个部分包含一些具体的文本,下面的语句的输出结果是相同的
driver.page_source
driver.find_element(:tag_name => ‘body')
不过对于第二条语句来说,selenium需要去分析页面的结构,最后再找到对应的元素并输入结果,这显然是需要花费时间的。如果页面比较小的化,那么二者的差距可能不大,不过对于大的页面来说,第一条语句速度明显会更快一些。
使用page text的情况
expect(driver.find_element(:tag_name => "body").text).to include("platform- and language-neutral wire protocol")
使用 page source的情况
expect(driver.page_source).to include("platform- and language-neutral wire protocol")
来看一下差距
Method 1: Search whole document text took 0.823076 seconds
Method 2: Search whole document HTML took 0.039573 seconds
当然两者的使用场景是不太相同的,不过我们这里只关注性能,显然page source要更快速一些。
元素越具体,获取text的速度越快
根据经验,我们可以通过缩小更具体的 Web 控件的范围来节省执行时间。下面的两个断言语句在很大程度上实现了相同的功能,但在执行时间上有很大的不同。
expect(driver.find_element(:tag_name, “body”)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。