成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Selenium原理精講

開發(fā)
Selenium 是用于測(cè)試 Web 應(yīng)用程序用戶界面 (UI) 的常用框架。它是一款用于運(yùn)行端到端功能測(cè)試的超強(qiáng)工具。

[[343907]]

 您可以使用多個(gè)編程語(yǔ)言編寫測(cè)試(目前支持的語(yǔ)言有Java,Python,Ruby, C#),并且 Selenium 能夠在一個(gè)或多個(gè)瀏覽器中執(zhí)行這些測(cè)試。Selenium最常用的版本是Selenium2和Selenium3。大家可以理解為selenium3是selenium2的升級(jí)版本,主要更新內(nèi)容如下:

  • 去掉了對(duì)selenium rc的支持
  • 全面擁抱java 8。 如果你需要使用selenium的java binding話,那么你就必須使用java 8了。
  • 支持macOS (Sierra or later),支持官方的safaridriver。
  • 通過ms官方的webdriver server支持Edge瀏覽器。只支持ie 9.0版本以上。
  • 通過Mozilla官方的geckodriver來支持firefox?;鸷鼜?7版本開始使用Gecko引擎,該引擎支持多進(jìn)程。
  • 簡(jiǎn)單點(diǎn)講就是如果你想要測(cè)試自己的產(chǎn)品在最新版本瀏覽器中的運(yùn)行情況,必須使用selenium3!

下面我就為大家詳解selenium的兩個(gè)核心問題:

1.支持多種語(yǔ)言;

2.可以在多個(gè)瀏覽器中運(yùn)行腳本

Selenium的架構(gòu)可以用下面的圖進(jìn)行概況

Selenium原理精講

 

藍(lán)色的圖Selenium Language Binding就是我們平時(shí)使用的編碼語(yǔ)言,包括java、python等等。可以看到這些語(yǔ)言并沒有直接與Browser Drivers進(jìn)行通信,而是通過了JSON Wire

Protocol,這就是webdriver協(xié)議 ,詳情請(qǐng)參考https://www.w3.org/TR/webdriver/ 。

簡(jiǎn)單的說他定義了一套接口規(guī)范,以我們最熟悉的點(diǎn)擊操作為例,他對(duì)應(yīng)的接口協(xié)議是:

POST /session/{session id}/element/{element id}/click

這樣以來,無(wú)論我們編碼使用python代碼來執(zhí)行點(diǎn)擊操作:

driver.find_element_by_id("").click()

還是以java代碼執(zhí)行點(diǎn)擊操作:

driver.findElement(By.id("")).click();

都會(huì)通過selenium客戶端的程序?qū)lick操作轉(zhuǎn)化成對(duì)應(yīng)的webdriver協(xié)議。這樣對(duì)于Browser Drivers來說只需要解析具體協(xié)議,而無(wú)需關(guān)注客戶端使用的是哪種代碼了,這就是selenium支持多種語(yǔ)言的原理。

在Browser Drivers中可以看到各個(gè)瀏覽器的driver,這里我們以chromedriver為例進(jìn)行講解。在代碼中直接 new ChromeDriver() 將會(huì)啟動(dòng)一個(gè) ChromeDriver進(jìn)程,ChromeDriver是一個(gè)獨(dú)立的服務(wù),它是 google 為網(wǎng)站開發(fā)人員提供的自動(dòng)化測(cè)試接口,它是 selenium 和 chrome瀏覽器進(jìn)行通信的橋梁。chromeDriver解析webdriver協(xié)議,然后根據(jù)解析結(jié)果,調(diào)用與之對(duì)應(yīng)的Remote Debugging協(xié)議來操控chrome瀏覽器,它可以和瀏覽器內(nèi)核進(jìn)行交互進(jìn)而操控瀏覽器,這里就不對(duì)該協(xié)議進(jìn)行詳細(xì)介紹了,以上就是selenium操控chrome瀏覽器的原理。

以此類推,大家就會(huì)了解為什么使用selenium2和3操控不同的瀏覽器,需要先下載與其對(duì)應(yīng)的瀏覽器driver了。

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2010-09-09 10:09:07

Java內(nèi)存分配

2010-07-28 15:10:21

NFS配置

2020-08-07 08:03:37

IONetty

2010-07-21 16:57:44

telnet命令

2010-09-26 11:17:55

dhcp relay配

2010-03-29 22:33:39

2010-07-01 13:58:50

UCD-SNMP

2019-01-03 12:50:52

Spring BootJava編程語(yǔ)言

2010-08-30 16:14:26

DHCP實(shí)驗(yàn)

2009-12-07 16:21:50

Juniper交換機(jī)

2009-12-02 12:52:00

華為路由器命令

2010-06-11 16:33:05

IPv6協(xié)議網(wǎng)絡(luò)

2010-04-25 17:18:09

TCP負(fù)載均衡

2024-11-13 11:12:08

JVM內(nèi)存區(qū)域

2024-05-17 12:43:49

Python編程開發(fā)

2009-06-20 18:33:41

2010-04-14 11:17:00

2018-06-26 18:10:43

分布式Redis數(shù)據(jù)庫(kù)

2010-01-04 15:14:08

交換機(jī)常見問題

2023-10-16 16:00:27

Redis限流
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产第一亚洲 | 天堂久久网 | 久久国产秒 | 久久久久国产一区二区三区 | 免费在线视频一区二区 | 国产丝袜一区二区三区免费视频 | 美女久久 | 国产偷久久一级精品60部 | 九九久久久 | 久久久久国产一区二区三区不卡 | 欧美a级成人淫片免费看 | 日韩精品在线一区 | 国精日本亚洲欧州国产中文久久 | 国产乱精品一区二区三区 | 亚洲日韩欧美一区二区在线 | 热久久国产 | 欧美三级在线 | 欧美一区二区三区免费在线观看 | xxx.在线观看 | 日韩成人免费视频 | 欧美精品一区二区三区四区 | h视频免费在线观看 | 日本在线网址 | 精品国产乱码久久久久久果冻传媒 | 午夜激情小视频 | 欧美影院久久 | 福利av在线| 久久亚洲欧美日韩精品专区 | 国产精品久久在线观看 | 亚洲精品一区在线观看 | 亚洲精品一区二区三区免 | 在线播放一区二区三区 | 国产精品高潮呻吟久久aⅴ码 | 在线欧美视频 | 欧美一级片在线播放 | 国产综合久久久 | 99成人精品 | 日韩中文字幕一区 | 久久综合久色欧美综合狠狠 | 黄色大片在线免费观看 | 视频一二三区 |