日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 多线程 Selenium 跨浏览器测试

發布時間:2023/12/14 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 多线程 Selenium 跨浏览器测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

一、什么是跨瀏覽器測試

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

二、為什么需要跨瀏覽器測試

通常情況下,我們都期望 web 類應用能夠被我們的用戶在任何瀏覽器上使用。例如,有的人喜歡用 IE 來進行web測試,但有的人喜歡 firefox 或 chrome。
我們期望我們的 web 系統能在任何瀏覽器上正常的工作,這樣能吸引更多的用戶來使用。
需要跨瀏覽器測試的根源是:
1. 在不同瀏覽器字體大小不匹配
2. javascrpit 的實現不一樣
3. css、html 的驗證有所區別
4. 有的瀏覽器或低版本不支持 HTML5
5. 頁面對齊和 div 大小問題
6. 圖片位置或大小問題
7. 瀏覽器和操作系統間的兼容問題
以上幾個方面不僅僅對布局有影響,甚至會導致功能不可用,所以我們需要進
行跨瀏覽器測試。

三、如何執行跨瀏覽器測試

如果我們使用 selenium webdriver,那我們就能夠自動的在 IE、firefox、
chrome、等不同瀏覽器上運行測試用例。
為了能在同一臺機器上不同瀏覽器上同時執行測試用例,我們需要多線程技術。

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

前提條件:

你已經下載并配置好了ie,Firefox,chrome的 driver.exe,如果沒有,點這里
iedriver.exe
Chromedriver.exe

#-*- coding:utf-8 -*- import unittest import time from selenium import webdriver from threading import Thread #導入python多線程模塊 def test1(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 "開始"driver.get(url)print "清除數據"driver.find_element_by_id('kw').clear()driver.find_element_by_id('kw').send_keys('MTbaby')driver.find_element_by_id('su').click()time.sleep(5)#關閉瀏覽器driver.quit()if __name__=="__main__":#瀏覽器好額首頁urldate = {'ie':'http://www.baidu.com','Firefox':'http://www.baidu.com','Chrome':'http://www.baidu.com'}#構建線程thresds = []for b,url in date.items():t = Thread(target=test1,args=(b,url))thresds.append(t)#啟動所有線程for s in thresds:s.start()

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

備注:

Python通過兩個標準庫thread和threading提供對線程的支持。
thread提供了低級別的、原始的線程以及一個簡單的鎖。
具體這里就先不講了,大家有興趣,還是要多看看python知識以及python模塊。

總結

以上是生活随笔為你收集整理的Python 多线程 Selenium 跨浏览器测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。