首页 > 技术文章 > selenium + python 多浏览器测试

feeland 2015-04-16 19:23 原文

selenium + python 多浏览器测试

 

  支持库包

    在学习 Python + Selenium 正篇之前,先来看下对多浏览器模拟的支持。目前selenium包中已包含webdriver,help(webdriver) 查看其下package;也可以查看源文件

            

 

  启动 Firefox

    firefox是selenium支持得比较成熟的浏览器,很多新的特性都会在firefox中体现。但是做页面的测试,启动速度比较慢,启动以后运行速度还是可以接受的。可直接启动firefox浏览器,参见如下代码:

# !/usr/bin/env python
# -*- coding:utf-8 -*-  

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://www.baidu.com')

    注意:你的电脑需要已装Firefox,执行后会新开一Firefox窗口,并执行打开百度首页的操作。

    

   启动 Chrome

     启动 chrome 需要下载 chromedriver,google 下载地址:http://chromedriver.storage.googleapis.com/index.html; 被禁就下这个吧:http://pan.baidu.com/s/1dD8Mn1f

     将该exe放入chrome程序包中,如

    

    将该地址添加入 path 环境变量中,如:D:\chrome(X64)-38.0.2125.101\Chrome-bin

    同样的,启动 chrome 打开百度首页,参见如下代码:

# !/usr/bin/env python
# -*- coding:utf-8 -*-  

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://www.baidu.com')

   若仍执行出错,建议查看下chrome版本,可能就是chrome本身的问题,或者参看下方使用os变量的方式。

 

  启动 IE

    启动 IE 类似 chrome,需要下载 IEdriver,google 下载地址:https://code.google.com/p/selenium/downloads/list; 被禁就下这个吧:http://pan.baidu.com/s/1c0hebio

    类似操作将此 exe 放入IE程序包及加入 path;代码同chrome的,差别只在 browser = webdriver.Ie() ;  

    若环境变量启动 webdriver 方式有问题,代码执行报错,可使用os变量方式,参考如下代码(chrome 也可使用类似代码):

# !/usr/bin/env python
# -*- coding:utf-8 -*-  

from os import environ
from selenium import webdriver

iedriver = "C:\Program Files\Internet Explorer\IEDriverServer.exe"
environ["webdriver.ie.driver"] = iedriver
browser = webdriver.Ie(iedriver)
browser.get("http://www.baidu.com")

 

  多浏览器代码优化

    除了 Firefox、chrome、IE 以外,可看到 opera 、Safari 等也可支持,这边就不一一介绍了,如果想要了解,可google。

    可写一个 .py 来启动浏览器,测试代码仅需 import 即可。

 1 # !/usr/bin/env python
 2 # -*- coding:utf-8 -*-  
 3 
 4 from os import environ
 5 from selenium import webdriver
 6 
 7 ff = webdriver.Firefox()                    # Firefox
 8 ff.maximize_window()                        # full-window
 9 
10 chromedriver = "C:\Users\sisi\AppData\Local\Google\Chrome\Application\chromedriver.exe"
11 environ["webdriver.chrome.driver"] = chromedriver
12 chrome = webdriver.Chrome(chromedriver)     # Chrome
13 chrome.maximize_window()                    # full-window
14 
15 iedriver = "C:\Program Files\Internet Explorer\IEDriverServer.exe"
16 environ["webdriver.ie.driver"] = iedriver
17 ie = webdriver.Ie(iedriver)                 # IE
18 ie.maximize_window()                        # full-window
19 
20 
21 ''' Your testing code should be here '''
22 
23 TEST_URL = "http://www.baidu.com"        
24 
25 ff.get(TEST_URL)
26 chrome.get(TEST_URL)
27 ie.get(TEST_URL)

 

推荐阅读