摘要:可以方便的用于功能測試兼容性測試穩(wěn)定性測試及并發(fā)測試。目前已被主流瀏覽器廠商廣泛支持,同時(shí)也是很多其它自動(dòng)化測試工具比如,的底層核心技術(shù)。由簡稱四個(gè)工程組成是一個(gè)用于錄制回放測試腳本的附加組件,錄制的腳本可以生成基于的測試代碼等。
Selenium是針對Web應(yīng)用的開源自動(dòng)化測試工具,通過編寫模擬用戶操作的腳本,它會(huì)打開瀏覽器對Web應(yīng)用進(jìn)行黑盒測試。可以方便的用于功能測試、兼容性測試、 穩(wěn)定性測試及并發(fā)測試。目前已被主流瀏覽器廠商廣泛支持,同時(shí)也是很多其它自動(dòng)化測試工具(比如,RobotFramework)的底層核心技術(shù)。Selenium由IDE、Remote Control(簡稱RC)、WebDriver、Grid四個(gè)工程組成:
1、Selenium IDE
是一個(gè)用于錄制/回放測試腳本的Firefox附加組件,錄制的腳本可以生成基于Selenium RC的測試代碼(python、Java、Ruby、C#等)。適用于快速入門,不太適用于實(shí)際較大的測試項(xiàng)目;
2、Selenium RC
RC由Server和Client組成兩部分組成,Server負(fù)責(zé)加載/關(guān)閉瀏覽器以及作為HTTP代理來訪問Web應(yīng)用,Clinet支持多種編程語言和測試框架(TestNG、JUnit、NUnit等)。
3、Selenium WebDriver
WebDriver作為Selenium2的核心特性提供比RC更簡潔易用的API,是官方推薦的RC替代方案。可以更好的支持動(dòng)態(tài)網(wǎng)頁,不需要再額外啟動(dòng)一個(gè)獨(dú)立的Server。
4、Selenium Grid
是Selenium的一個(gè)擴(kuò)展工具,可以很方便地同時(shí)在多臺機(jī)器上和異構(gòu)環(huán)境中并行運(yùn)行多個(gè)RC或WebDriver用例。
WebDriver
啟動(dòng)瀏覽器后,selenium-webdriver會(huì)將目標(biāo)瀏覽器綁定到特定的端口,啟動(dòng)后的瀏覽器則作為webdriver的 remote server。
客戶端(也就是測試腳本),借助ComandExecutor發(fā)送HTTP請求給sever端(通信協(xié)議:The WebDriver Wire
Protocol,在HTTP request的body中,會(huì)以WebDriver Wire協(xié)議規(guī)定的JSON格式的字符串來告訴Selenium我們希望瀏覽器接下來做什么事情)。
Sever端需要依賴原生的瀏覽器組件,轉(zhuǎn)化Web Service的命令為瀏覽器native的調(diào)用來完成操作。
得到對應(yīng)元素的id,模擬手動(dòng)搜索hello
from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("https://www.baidu.com/")driver.find_element_by_id("kw").send_keys("hello")driver.find_element_by_id("su").click()time.sleep(8)driver.quit()
結(jié)果
在fireFox中使用selenium IDE錄制腳本?
點(diǎn)擊start開始錄制、接下來就是我們的操作?
點(diǎn)擊右上角停止錄制?
點(diǎn)擊run播放錄制?
導(dǎo)出錄制腳本、支持多種語言
錄制生成的腳本
# Generated by Selenium IDEimport pytestimport timeimport jsonfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support import expected_conditionsfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesclass TestHello(): def setup_method(self, method): self.driver = webdriver.Firefox() self.vars = {} def teardown_method(self, method): self.driver.quit() def test_hello(self): self.driver.get("https://www.baidu.com/") self.driver.set_window_size(1118, 695) self.driver.find_element(By.ID, "kw").send_keys("hello") self.driver.find_element(By.ID, "kw").send_keys(Keys.ENTER) self.driver.find_element(By.CSS_SELECTOR, ".c-gap-right-xsmall > .op-dict3-repeat").click() self.driver.find_element(By.CSS_SELECTOR, ".op-dict3-repeat-on").click() self.driver.close()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/119155.html
摘要:對于這次的爬蟲來說,由于網(wǎng)易云音樂以及音樂網(wǎng)頁中大部分元素都是使用渲染生成的,因此選擇使用來完成這次的腳本??梢园l(fā)現(xiàn)網(wǎng)易云音樂的手機(jī)版歌單地址是。現(xiàn)在已經(jīng)支持網(wǎng)易云音樂與音樂歌單的互相同步。 本文主要介紹selenium在爬蟲腳本的實(shí)際應(yīng)用。適合剛接觸python,沒使用過selenium的童鞋。(如果你是老司機(jī)路過的話,幫忙點(diǎn)個(gè)star吧) 項(xiàng)目地址 https://github.c...
摘要:概述是由有贊開發(fā)的自動(dòng)化工具,并以此實(shí)現(xiàn)了端和端的核心業(yè)務(wù)的自動(dòng)化。旨在簡化開源工具提供的接口,方便自動(dòng)化測試用例的設(shè)計(jì)。元素定位自動(dòng)化用例其實(shí)可以分成兩部分,定位元素調(diào)用接口操作該元素。一臺用于跑自動(dòng)化用例的服務(wù)器。 概述 Bee 是由有贊 QA 開發(fā)的 UI 自動(dòng)化工具,并以此實(shí)現(xiàn)了 web 端和 wap 端的核心業(yè)務(wù)的自動(dòng)化。旨在簡化開源工具提供的接口,方便 UI 自動(dòng)化測試用例...
摘要:他支持手機(jī)瀏覽器,也支持等語言,支持如等操作系統(tǒng),是一套為自動(dòng)化測試量身定制的框架,框架由多個(gè)工具組成,包括,,和,至于他們的功能和作用請大家自行百度腦補(bǔ),下面將重點(diǎn)介紹主要功能。一、Selenium 簡介 Selenium是ThroughtWorks公司一個(gè)強(qiáng)大的開源Web功能測試工具系列,提供一套測試函數(shù),用于支持Web自動(dòng)化測試。函數(shù)非常靈活,能夠完成界面元素定位、窗口跳轉(zhuǎn)、結(jié)果比...
摘要:使用在中進(jìn)行了一項(xiàng)使用瀏覽器的工作在此記錄下遇到的問題以及解決方法入門參考中如何安裝瀏覽器以及參考啟動(dòng)瀏覽器時(shí)常用的屬性指定瀏覽器分辨率谷歌文檔提到需要加上這個(gè)屬性來規(guī)避隱藏滾動(dòng)條應(yīng)對一些特殊頁面不加載圖片提升速度 使用python3.6在Ubuntu中進(jìn)行了一項(xiàng)使用Chrome headless瀏覽器的工作, 在此記錄下遇到的問題以及解決方法. 入門? 參考 unning-selen...
摘要:在上次的自動(dòng)化測試系列二自動(dòng)化測試系列二中為大家大體介紹了測試的概念及在豬齒魚中的實(shí)踐展開,本文主要圍繞測試進(jìn)行概念介紹及中的實(shí)踐展開。手動(dòng)測試要求測試人員在每個(gè)元素上手動(dòng)執(zhí)行每個(gè)測試。主要是用于回歸測試和同一軟件的新版本測試。 UI 測試是一種測試類型,也稱為用戶界面測試,通過該測試,我們...
閱讀 1098·2021-11-15 18:00
閱讀 2812·2021-09-22 15:18
閱讀 1974·2021-09-04 16:45
閱讀 756·2019-08-30 15:55
閱讀 3867·2019-08-30 13:10
閱讀 1343·2019-08-30 11:06
閱讀 1991·2019-08-29 12:51
閱讀 2299·2019-08-26 13:55