首頁 >後端開發 >Python教學 >Python多執行緒Selenium跨瀏覽器測試說明

Python多執行緒Selenium跨瀏覽器測試說明

PHPz
PHPz原創
2017-04-02 13:36:131426瀏覽

在web測試中,不可避免的一個測試就是瀏覽器相容性測試,在沒有自動化測試之前,我們總是苦逼的在一台或多台機器上安裝N種瀏覽器,然後手動在不同的瀏覽器上驗證主業務流程和關鍵功能模組功能,以偵測不同瀏覽器或不同版本瀏覽器上,我們的web應用程式是否可以正常運作。

下面我們來看看怎麼利用python selenium進行自動化的跨瀏覽器測試。

什麼是跨瀏覽器測試

跨瀏覽器測試是功能測試的一個分支,用以驗證web應用能在不同的瀏覽器上正常運作。

為什麼需要跨瀏覽器測試

通常情況下,我們都期望web類別應用程式能夠被我們的使用者在任何瀏覽器上使用。例如,有的人喜歡用IE來開啟開源優測web站點,但有的人喜歡firefox或chrome。

我們期望我們的web系統能在任何瀏覽器上正常的運作,這樣能吸引更多的使用者來使用。

需要跨瀏覽器測試的根源是:

在不同瀏覽器字體大小不符

javascrpit的實作不一樣

css、html的驗證有所區別

有的瀏覽器或低版本不支援HTML5

#頁面對齊和div大小問題

圖片位置或大小問題

瀏覽器和作業系統間的相容問題

以上幾個方面不僅對佈局有影響,甚至會導致功能不可用,所以我們需要進行跨瀏覽器測試。

如何執行跨瀏覽器測試

如果我們使用selenium webdriver,那我們就能夠自動的在IE、firefox、chrome、等不同瀏覽器上執行測試案例。

為了能在同一台機器上不同瀏覽器上同時執行測試案例,我們需要多執行緒技術。

下面我們基於python的多執行緒技術來嘗試同時啟動多個瀏覽器進行selenium自動化測試。

#-*- coding:utf-8 -*-
 
author = u'苦叶子'
 
from selenium import webdriver
import sys
from time import sleep
from threading import Thread
 
reload(sys)
sys.setdefaultencoding("utf-8")
 
def test_baidu_search(browser, url):
  driver = None
  # 你可以自定义这里,添加更多浏览器支持进来
  if browser == "ie":
    driver = webdriver.Ie()
  elif browser == "firefox":
    driver = webdriver.Firefox()
  elif browser == "chrome":
    driver = webdriver.Chrome()
 
  if driver == None:
    exit()
 
  print u"开始[case_0001]百度搜索"
  driver.get(url)
 
  print u"清除搜索中数据,输入搜索关键词"
  driver.find_element_by_id("kw").clear()
  driver.find_element_by_id("kw").send_keys(u"开源优测")
 
  print u"单击 百度一下 按钮 开始搜索"
  driver.find_element_by_id("su").click()
  sleep(3)
 
  print u"关闭浏览器,退出webdriver"
  driver.quit()
 
 
if name == "main":
  # 浏览器和首页url
  data = {
    "ie":"http://www.baidu.com",
    "firefox":"http://www.baidu.com",
    "chrome":"http://www.baidu.com"
    }
 
  # 构建线程
  threads = []
  for b, url in data.items():
    t = Thread(target=test_baidu_search,args=(b,url))
    threads.append(t)
 
  # 启动所有线程
  for thr in threads:
    thr.start()

運行上述程式碼,你會發現三個瀏覽器都會啟動開始進行百度搜索,是不是很有意思?當然上面只是簡單的演示,更多更實用的能力有待挖掘。

本文初始示範了利用python多執行緒技術來啟動多個瀏覽器同時進行selenium自動化測試,透過這個範例你應該要去學習更深入的知識,和深入結合實際業務測試梳理出更合適的自動化測試業務場景。

至於如何更深入的利用selenium把相容性測試做好,還有待深入研究挖掘,真正的把selenium的特性用好。

以上是Python多執行緒Selenium跨瀏覽器測試說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn