我正在使用watir-webdriver进行测试自动化,并且需要一种方法来确定我的测试页面是否触发了浏览器中的不安全内容警告,或者它是否正在以http而不是https加载任何资源。
有没有办法在webdriver中做到这一点?或者我还可以用别的工具来做这件事?
例如,,如果您转到https://github.com并查看网络流量,您将看到一堆通过https加载的.js文件和图像。我需要一个脚本,它可以确定是否使用http而不是https加载了这些资源。当这种情况发生在安全站点上时,主要的浏览器会有某种警告,但它们并不总是创建弹出窗口。

发布于 2012-07-07 20:25:37
我认为您最好的选择是捕获由pcap (红宝石,教程)的webdriver发送的请求。您的代码应该如下所示:
require 'pcaplet'
# start capturing packets
httpdump = Pcaplet.new('-s 1500')
#
# do web requests here
#
insecure_reqs = []
httpdump.add_filter(
# you could also filter by just tcp and then check pkt.dst_port in the loop
Pcap::Filter.new('tcp and dst port 80', httpdump.capture)
)
httpdump.each_packet do |pkt|
insecure_reqs << pkt.dst.to_s
end(免责声明:这是未经测试和拼凑在一起的红宝石-pcap的示例。)
缺点是,在运行测试时,您需要确保机器上没有其他任何东西发出请求,因此在孤立的服务器或VM中运行这个选项是一个很好的选择。
https://stackoverflow.com/questions/11365540
复制相似问题