Selenium+Python3之:多线程进行跨浏览器测试
python多線程跨瀏覽器測試
- 1、引言
- 2、跨瀏覽器操作及定義
- 2.1 啥是跨瀏覽器測試
- 2.2 為啥要進(jìn)行跨瀏覽器測試
- 2.3 跨瀏覽器測試執(zhí)行
- 3、代碼編寫實(shí)戰(zhàn)
1、引言
在WebUI自動化方面的博文, 我也是有好一段時(shí)間沒有更新了, 這昨晚被小屌絲騷擾了…
為了答應(yīng)小屌絲的要求(能得到小姐姐的微信),我昨晚是整理了半宿啊,
先還原一下小屌絲誘惑我寫博文的對話:
小屌絲:小魚,我用腳指頭算了一下,你有半年沒更新WebUI相關(guān)的博文了,是因?yàn)樾〗憬銌?#xff1f;
小魚:我擦~~ 你還能說得再直接點(diǎn)嗎?
小屌絲:6月初,小姐姐的照片。
小魚:… 不記得,我不會承認(rèn)我?guī)托〗憬闫平鈮嚎s包的事情。
小屌絲:能不能偶爾也為我們這些帥哥想一下,
畢竟我們對技術(shù)的執(zhí)著是認(rèn)真的。
小魚:趕緊的,想說啥,直接說,這大半夜的,忙著呢…
小屌絲:我想知道 如何使用selenium,進(jìn)行跨瀏覽器測試。
小魚:就這?我忙呢,現(xiàn)在沒時(shí)間給你講這個(gè)…
小屌絲:剛剛有個(gè)小姐姐私信我,問我有沒有小魚的WeChat
小魚:我這么正直的人, 不要用小姐姐來騙我?
小屌絲:小姐姐還挺漂亮!而且還…
小魚:我是那種人嗎?我看中的是顏值嗎? 不可能。
小屌絲:這么堅(jiān)決?嗯,好吧, 那我就回復(fù)小姐姐,不方便提供微信了。
小魚:…你這樣直接拒絕,不禮貌,讓小姐姐添加我的微信,我來拒絕她…
小屌絲:那你先給我講如何多線程跨瀏覽器操作,
講明白了,我就讓小姐姐加你微信。
小魚:我不是為了小姐姐,而是看你對技術(shù)這么執(zhí)著,我就勉為其難的給你講一下吧。
先喝杯美咖,然后默默的打開編譯器,開始擼代碼…
2、跨瀏覽器操作及定義
在做測試開發(fā)中, Web測試中的兼容性測試是很重要的一個(gè)環(huán)節(jié),
畢竟市面上瀏覽器那么多,如果不適用于主流的瀏覽器,那最后只能是涼涼。
在自動化未面世前,我們能做的,就是測試機(jī)安裝很多種瀏覽器,不停地切換,已驗(yàn)證同一個(gè)功能在不同瀏覽器或不同瀏覽器版本,可以正常使用~~這搞到最后,就想罵街!
提到這個(gè)事情,小魚深有體會:
那時(shí)還在島國,兩臺測試機(jī),安裝了ie的各種版本,chrome,Firefox,safai…哎~
所以,為了能讓更多測試開發(fā)大佬不去體驗(yàn)這種苦逼的操作
,我們就需要進(jìn)行跨瀏覽器測試,
那么,接下來,就來看看,啥是跨瀏覽器測試
2.1 啥是跨瀏覽器測試
就一句話,很好理解:
跨瀏覽器測試是功能測試的一個(gè)分支,用以驗(yàn)證web應(yīng)用能在不同的瀏覽器上正常工作。
2.2 為啥要進(jìn)行跨瀏覽器測試
因?yàn)椴煌娜?#xff0c;喜好不一樣, 就好比,有的妹子喜歡個(gè)帥哥,有的妹子喜歡隔壁王老五。
所以,我們需要滿足不同的人的需求。
畢竟:
我們作業(yè)寫的好,“家長們”就開心,“家長們”開心了,我們就有零花錢了,我們有零花錢了,就能寫好作業(yè)…
跨瀏覽器測試的根源:
- 在不同瀏覽器字體大小不匹配;
- javascrpit的實(shí)現(xiàn)不一樣;
- css、html的驗(yàn)證有所區(qū)別;
- 有的瀏覽器或低版本不支持HTML5;
- 頁面對齊和div大小問題;
- 圖片位置或大小問題;
- 瀏覽器和操作系統(tǒng)間的兼容問題;
以上幾個(gè)方面不僅僅對布局有影響,甚至?xí)?dǎo)致功能不可用,所以我們需要進(jìn)行跨瀏覽器測試。
2.3 跨瀏覽器測試執(zhí)行
如果我們使用selenium webdriver,那我們就能夠自動的在IE、firefox、chrome、等不同瀏覽器上運(yùn)行測試用例。
為了能在同一臺機(jī)器上不同瀏覽器上同時(shí)執(zhí)行測試用例,我們需要多線程技術(shù)。
下面我們基于python的多線程技術(shù)來嘗試同時(shí)啟動多個(gè)瀏覽器進(jìn)行selenium自動化測試。
話不多說,直接來到第三章節(jié),上代碼
3、代碼編寫實(shí)戰(zhàn)
編寫代碼
# -*- coding:utf-8 -*- # @Time : 2021-06-16 # @Author : carl_DJfrom selenium import webdriver from threading import Thread import sys,time#直接使用百度搜索進(jìn)行演示 def test_baidu_search(browser, url):driver = None# 你可以自定義這里,添加更多瀏覽器支持進(jìn)來if browser == "ie":driver = webdriver.Ie()elif browser == "firefox":driver = webdriver.Firefox()elif browser == "chrome":driver = webdriver.Chrome()if driver == None:exit()print(f'開始進(jìn)行搜索')driver.get(url)print(f'清空輸入框內(nèi)容,輸入關(guān)鍵字進(jìn)行搜索')driver.find_element_by_id("kw").clear()driver.find_element_by_id("kw").send_keys(u"carL奕然的博客")print(f'點(diǎn)擊百度的搜索按鈕')driver.find_element_by_id("su").click()time.sleep(3)print(f'關(guān)閉并退出瀏覽器')driver.quit()if __name__ == "__main__":# 瀏覽器和首頁urldata = {"ie": "http://www.baidu.com","firefox": "http://www.baidu.com","chrome": "http://www.baidu.com"}# 構(gòu)建線程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()運(yùn)行結(jié)果
寫到這里,就完事了,是不是很簡單。
我也趕緊的跟小屌絲要小姐姐的微信了。
小魚:小屌絲,我這講的還可以吧,要不…小姐姐的…微信…
小屌絲:好的好的, 我這就讓小姐姐加你微信。
小魚:激動的心,顫抖的手,小姐姐的微信不能少。
小屌絲:不帶反悔的。
小魚:小屌絲…你~ ~
總結(jié)
以上是生活随笔為你收集整理的Selenium+Python3之:多线程进行跨浏览器测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从入门到不放弃:多浏览器的自动化测试(1
- 下一篇: 2021-05-1java基础