python,selenium和broswermob-proxy自动化测试

环境:python、selenium、browsermob-proxy、firefox/chrome

  • 使用selenium库中的webdriver用于模拟浏览器的请求,webdriver为连接不同浏览器的驱动程序
  • 使用browsermob-proxy做转发代理拦截,可以修改请求headers,获取网站响应(network的加载记录)
  • 安装浏览器对应的driver
  1. 安装所需库
pip install selenium
pip install browsermob-proxy
  1. 安装所需浏览器驱动(先装浏览器)
#firefox对应驱动geckodriver
https://github.com/mozilla/geckodriver/releases 
#chrome版本对应驱动及下载地址
https://www.cnblogs.com/qingqing-919/p/9055285.html http://npm.taobao.org/mirrors/chromedriver/
  1. 下载browsermob-proxy可执行文件
#下载编译好的可执行文件
https://github.com/lightbody/browsermob-proxy/releases
  1. demo
from selenium import webdriver
from browsermobproxy import Server
import json
# Server需要传入browsermob-proxy的可执行文件路径
server = Server("/xxx/browsermob-proxy-2.0-beta-6/bin/browsermob-proxy")
server.start()
proxy = server.create_proxy()
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
# executable_path为浏览器driver所在路径
driver = webdriver.Firefox(executable_path='/xxx/geckodriver', firefox_profile=profile)
proxy.new_har("baidu")
driver.get("http://www.baidu.com")
# proxy.wait_for_traffic_to_stop(1, 60)
# 保存为指定的 .har 文件
with open('1.har', 'w') as outfile:
    json.dump(proxy.har, outfile)
server.stop()
driver.quit()

使用http://www.softwareishard.com/har/viewer/ 可查看har的详细信息

附加:在服务器版本linux上搭建无图形的自动化测试环境

  • 安装xvfb
sudo apt install xvfb
  • 安装python控制xvfb所需库
pip install xvfbwrapper
  • demo
from xvfbwrapper import Xvfb
vdisplay = Xvfb(width=1280, height=740, colordepth=16)
vdisplay.start()
# launch stuff inside
# virtual display here
vdisplay.stop()

转载于:https://my.oschina.net/seeseven/blog/2096812

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值