真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Selenium和Appium有哪些異同點(diǎn)-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Selenium和Appium有哪些異同點(diǎn)的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括珠暉網(wǎng)站建設(shè)、珠暉網(wǎng)站制作、珠暉網(wǎng)頁制作以及珠暉網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,珠暉網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到珠暉省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

前段時(shí)間學(xué)習(xí)了selenium的使用,今天開始接觸appium看到appium的原理后產(chǎn)生了疑惑:

現(xiàn)在的selenium是通過webdriver來操作驅(qū)動(dòng)瀏覽器的,然而appium有一個(gè)server的概念

那么為什么沒有app driver這個(gè)東西呢?

selenium

早期的selenium

早期的selenium主要是指selenium1.0的版本,

這個(gè)版本主要由Selenium IDE + Selenium Grid + SeleniumRC組成

seleniumRC就是后來被webdriver取代的一個(gè)代理server

RC == Remote Control 遠(yuǎn)程控制

早期Selenium 引入了 Remote Control Server 這樣一個(gè)代理 Server,JavaScript 腳本注入和與 Server 通訊都通過這個(gè)代理 Server 來進(jìn)行,JavasScript可以獲取并調(diào)用頁面的任何元素,Selenium啟動(dòng)一個(gè)Server,將操作Web元素的API調(diào)用轉(zhuǎn)化為一段段JavaScript,在Selenium內(nèi)核啟動(dòng)瀏覽器之后注入這段JS

缺點(diǎn):但是JS注入速度不理想,穩(wěn)定性大大依賴于Selenium內(nèi)核對(duì)API翻譯成的JS質(zhì)量高低

引入代理Remote Control Server是因?yàn)椤巴床呗浴钡南拗?,通過這個(gè)代理服務(wù)器來“欺騙”遠(yuǎn)程Server,達(dá)到使其以為是從同一個(gè)地方load代碼以正確返回請(qǐng)求數(shù)據(jù)的效果

seleniumRC的原理

1.Selenium RC Server 啟動(dòng)一個(gè)瀏覽器(或是已經(jīng)使用中),并注入js代碼

2.將測試腳本代碼傳到客戶端的 Selenium-Core 中

3.Selenium-Core 翻譯并解析執(zhí)行用戶錄制的操作

4.讓代理 Server 進(jìn)行通訊

5.Remote Control Server 負(fù)責(zé)跟遠(yuǎn)程 Web 應(yīng)用服務(wù)器進(jìn)行通訊

seleniumRC的組成

1.Selenium Server(Launcher、Http Proxy、Selenium Core)

2.Client Libraries(用來控制server)

seleniumRC的工作流程

1.測試用例通過Client Libraries的接口向Selenium Server發(fā)送Http請(qǐng)求,要求和Selenium Server建立連接

2.Selenium Server的Launcher啟動(dòng)瀏覽器,把Selenium Core加載入瀏覽器頁面中,并發(fā)瀏覽器的代理設(shè)置為Selenium Server的Http Proxy。

3.測試用例通過Client Libraries的接口向Selenium Server發(fā)送Http請(qǐng)求,Selenium Server對(duì)請(qǐng)求進(jìn)行解析,然后通過Http Proxy發(fā)送JS命令通知Selenium Core執(zhí)行操作瀏覽器的動(dòng)作

4.Selenium Core接收到指令后,執(zhí)行操作

5.瀏覽器收到新的頁面請(qǐng)求信息,于是發(fā)送Http請(qǐng)求,請(qǐng)求新的web頁面。Selenium Server會(huì)接收到所有由它啟動(dòng)的瀏覽器發(fā)動(dòng)的請(qǐng)求

6.Selenium Server接收到瀏覽器發(fā)送的Http請(qǐng)求后,自己重組Http請(qǐng)求,獲取對(duì)應(yīng)的web頁面

7.Selenium Server的Http Proxy把接收的Web頁面返回給瀏覽器

現(xiàn)在的selenium

selenium3.0以后移除了seleniumRC,取而代之的是webdriver

用一張圖來展示selenium3.0的運(yùn)行原理

Selenium和Appium有哪些異同點(diǎn)

這里講到的是測試腳本和瀏覽器的交互,客戶端開始運(yùn)行驅(qū)動(dòng)瀏覽器的腳本的時(shí)候,這時(shí)瀏覽器收到請(qǐng)求開始啟動(dòng)并開啟偵聽端口,并自動(dòng)創(chuàng)建session,保持瀏覽器和對(duì)應(yīng)客戶端的會(huì)話連接,然后客戶端運(yùn)行腳本,向?yàn)g覽器發(fā)送http請(qǐng)求,瀏覽器解析請(qǐng)求,根據(jù)腳本內(nèi)容做出相應(yīng)操作,返回response。這時(shí)客戶端根據(jù)response選擇結(jié)束還是繼續(xù)執(zhí)行

tips:

1.webdriver操作瀏覽器、頁面采用的協(xié)議:the webdriver wire protocol

2.Client和Server的通信協(xié)議:HTTP

3.HTTP傳輸?shù)臄?shù)據(jù)內(nèi)容為遵循WP協(xié)議json格式數(shù)據(jù)

4.瀏覽器驅(qū)動(dòng)實(shí)現(xiàn)了webdriver協(xié)議的api

appium

appium和selenium之間的不同

appium本身就是一個(gè)server,而selenium廢棄了server,用webdriver來驅(qū)動(dòng)瀏覽器

appium工作原理

當(dāng)開啟appium服務(wù)器的同時(shí)就開啟了監(jiān)聽端口;我們運(yùn)行腳本的時(shí)候,調(diào)用任何的appiumAPI,都會(huì)向Appium Server端post一條HTTP請(qǐng)求,請(qǐng)求內(nèi)容就是根據(jù)webdriver wire protocol協(xié)議規(guī)定的一條JSON格式的數(shù)據(jù);Appium Server端接收到請(qǐng)求后,解析出JSON數(shù)據(jù)并發(fā)送到手機(jī)端;手機(jī)端上已經(jīng)由BootStrap.jar(iOS為BootStrip.js)開啟的socket服務(wù)器監(jiān)聽相應(yīng)的端口,BootStrap.jar在appium每個(gè)session第一次訪問手機(jī)端的時(shí)候會(huì)自動(dòng)安裝;手機(jī)端接收到對(duì)應(yīng)的請(qǐng)求后,通過BootStrap.jar翻譯成UIAutomator能執(zhí)行的命令,然后通過UIAutomator處理并操作APP完成測試。

appium的幾個(gè)概念

1.appium/appium server

一般所說的appium其實(shí)是一個(gè)基于node.js的web服務(wù)器,它是測試腳本和設(shè)備端交互的橋梁

用npm install -g appium 安裝的是命令行的沒有界面的appium server

2.appium GUI

它是把沒有界面的appium server封裝出了一個(gè)圖形界面,方便操作,但是現(xiàn)在已經(jīng)被appium desktop所取代

3.appium Desktop

它是一款適用于Mac,Windows和Linux的開源應(yīng)用程序,它以美觀而靈活的用戶界面為您提供appium server的強(qiáng)大功能

4.appium client

第1點(diǎn)中說到,appium其實(shí)是一個(gè)sweb server,server是接收請(qǐng)求來操作設(shè)備端的app的,既然有了server那么一定會(huì)有client

這個(gè)client就是我們寫測試腳本時(shí)導(dǎo)入的包

Python中可以運(yùn)行 pip install Appium-Python-Client 來安裝

Android和 iOS

Selenium和Appium有哪些異同點(diǎn)

Selenium和Appium有哪些異同點(diǎn)

感謝各位的閱讀!關(guān)于“Selenium和Appium有哪些異同點(diǎn)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


網(wǎng)頁題目:Selenium和Appium有哪些異同點(diǎn)-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/dcedsd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部