国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

#軟件測試###淺談幾個UI自動化測試工具

這篇具有很好參考價值的文章主要介紹了#軟件測試###淺談幾個UI自動化測試工具。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、Selenium

一個web的自動化測試工具,相比QTP而言支持多種語言,QTP只支持VBS,支持多平臺,支持分布式測試用例的執(zhí)行。selenium主要使用的工具是WebDriver。

WebDriver有三個角色:工程師寫的自動化測試代碼;瀏覽器的驅(qū)動;瀏覽器。

從技術(shù)層面解釋:

  1. WebDriver API(基于Java、Python、C#)等語言,對于python來說就是from selenium import webdriver;
  2. 瀏覽器的驅(qū)動(browser driver):每個瀏覽器都有自己的驅(qū)動,均已exe文件形式存在,比如谷歌的chromedriver.exe、火狐的geckodriver.exe;
  3. 瀏覽器本身:即軟件本身。

一條selenium腳本執(zhí)行時后端發(fā)生的事情:

  1. 對于每一條selenium腳本,一個http請求會被創(chuàng)建并且發(fā)送給瀏覽器的驅(qū)動;
  2. 瀏覽器驅(qū)動中包含了一個HTTP Server,用來接受這些http請求;
  3. HTTP Server接收到請求后根據(jù)請求來具體操控對應的瀏覽器;
  4. 瀏覽器執(zhí)行具體的測試步驟;
  5. 瀏覽器將步驟執(zhí)行結(jié)果返回給HTTP Server;
  6. HTTP Server又將結(jié)果返回給Selenium的腳本,如果是錯誤的http代碼我們就會在控制臺看到對應的報錯信息。

為什么使用HTTP協(xié)議:因為HTTP協(xié)議是一個瀏覽器和Web服務器之間通信的標準協(xié)議,幾乎每一種變成語言都提供了豐富的http libraries,這樣就可以方便的處理客戶端Client和服務器Server之間的請求request及響應response,WebDriver的結(jié)構(gòu)中就是典型的C/S結(jié)構(gòu),WebDriver API相當于是客戶端,而小小的瀏覽器驅(qū)動才是服務器端。

WebDriver基于的協(xié)議:JSON Wire Protocol,這個協(xié)議在http協(xié)議基礎上,對http請求及響應的body部分的數(shù)據(jù)進一步規(guī)范。http中的body都是以JSON的形式存在并進行傳送的,這樣的話在Client和Server之間,只要是基于JSON Wire Protocol來傳遞數(shù)據(jù),就與具體的腳本語言無關(guān)了,同一個瀏覽器的驅(qū)動既可以處理Java語言的腳本,也可以處理Python語言的腳本。

每個瀏覽器都有自己自動化測試接口,如打開網(wǎng)頁、點擊等;每個瀏覽器自己的webdriver實現(xiàn),如chromedriver都封裝了這些自動化測試接口,然后把這些操作以一個標準web restfull api暴露出來。

二、Appium

Appium:一個開源的,適用于原生或混合移動應用(hybrid mobile apps)的自動化測試工具,Appium應用WebDriver:JSON wire protocol驅(qū)動安卓和IOS移動應用。

支持多平臺(Android、IOS等)。

支持多語言(python、java、ruby、js、c#等),appium選擇了Client/Server的設計模式,只要client能夠發(fā)送http請求給server,那么client用什么語言來實現(xiàn)都是可以的,這就是支持多語言的原因。

跨平臺的,可以在OSX、windows和linux上運行。

appium擴展了WebDriver的協(xié)議。

Appium啟動時會創(chuàng)建一個http請求,針對4723端口,腳本會告訴服務器我要做什么,服務端再去跟設備打交道,服務端和腳本可以不在一起,只要能訪問到127.0.0.1:4723這個地址就可以。服務端和設備默認使用4724端口進行通訊,底層調(diào)用uiautomator工具,在測試的時候服務端會給設備扔一個jar包就是appiumbootstrap.jar,會啟動這個包,啟動之后會在手機上創(chuàng)建一個socket服務,暴露的就是4724的端口,相對于socket服務來說,appium服務端又是一個客戶端。服務端的4724端口可以修改,設備上的不可以,服務端收到腳本傳遞過來的命令之后,通過電腦上的2724端口,向設備上的4724端口發(fā)送指令,appiumbootstrap.jar收到指令后回去完成點擊、滑動等操作,完成之后再通過服務給服務端一個回應,服務端收到之后再返回給響應腳本。

Bootstrap.jar,監(jiān)聽appium發(fā)送過來的相關(guān)請求,并將請求轉(zhuǎn)換成UiAutomator可以識別的命令發(fā)給UiAutomator進行處理。

Bootstrap是Appium在初始化時推送到Android手機上的一個UiAutomator測試腳本,該腳本的唯一一個測試方式是在手機端開啟一個SocketServer(通信模塊),監(jiān)聽appium從PC端發(fā)過來的命令,并發(fā)送給UiAutomator進行處理。

appium工作流程:腳本請求==》4723端口appium server==》解析參數(shù)給PC端4724端口==》發(fā)送給設備4724端口==》通過設備4724端口發(fā)給bootstrap.jar==》Bootstrap.jar把命令發(fā)給uiautomator。

三、uiautomator

uiautomator是谷歌在Android4.1版本發(fā)布時推出的一款用java編寫的ui測試框架,基于accessibility服務,最大的特點是可以跨進程操作,可以使用uiautomator框架提供的一些方便的api來對安卓應用進行一系列的自動化測試操作,如點擊、滑動、鍵盤輸入、長按以及常用的斷言方法等。

uiautomator是在手機上運行了一個http rpc服務,將uiautomator中的功能開放出來,然后再將這些http接口封裝成python庫,python腳本執(zhí)行每個操作都會轉(zhuǎn)換成一個對http rpc服務的請求,http rpc服務接受這些請求,并調(diào)用原生uiautomator的api實現(xiàn)在手機上的操作。

ui自動化測試工具有哪些,單元測試,壓力測試,測試工具,自動化,功能測試

?文章來源地址http://www.zghlxwxcb.cn/news/detail-539064.html

android SDK4.3中提供了如下工具來支持UI自動化測試,uiautomatorviewer:一個圖形界面工具來掃描和分析應用的ui控件。uiautomator:一個測試的java庫,包含了創(chuàng)建UI測試的各種APi和執(zhí)行自動化測試的引擎。

uiautomator1有兩個缺點:測試腳本只能使用Java語言;測試腳本必須每次被上傳到設備上運行。

uiautomator2誕生的背景:希望測試能夠用更腳本化的語言,如python,每次所見即所得地修改測試、運行測試或者說能夠在電腦上運行就能控制手機。

uiautomator2初期是在手機上運行一個http rpc服務,將uiautomator中的功能開放出來,然后再將這些http接口封裝成python庫。

uiautomator2后期加強版:設備和開發(fā)機可以脫離數(shù)據(jù)線,通過wifi互聯(lián),代碼重構(gòu)和精簡,擴充了toast,繼承了openstf/minicap達到實時屏幕投屏,以及實時截圖;集成了openstf/minitouch達到精確實時控制設備。

python-uiautomator2封裝了谷歌自帶的uiautomator2測試框架,提供便利的python接口,允許測試人員直接在PC上編寫python的測試代碼。

python-uiautomator2分為兩個部分,python客戶端,移動設備。

python端:運行腳本,并向移動設備發(fā)送HTTP請求。

移動設備:移動設備上運行了封裝了uiautomator2的http服務,解析收到的請求,并轉(zhuǎn)化成uiautomator2的代碼。

?整個過程:

  1. 在移動設備上安裝atx-agent(守護進程),隨后atx-agent啟動UIautomator服務(默認7912端口)進行監(jiān)聽;
  2. 在PC上編寫測試腳本并執(zhí)行(相當于發(fā)送http請求到移動設備的server端);
  3. 移動設備通過WIFI或USB接收到PC上發(fā)來的HTTP請求,執(zhí)行指定的操作。? ? ? ? ? ? ? ? ? ? ? ?

?以下是我整理的一些學習資料,需要的朋友可以進群討論!

ui自動化測試工具有哪些,單元測試,壓力測試,測試工具,自動化,功能測試

?

到了這里,關(guān)于#軟件測試###淺談幾個UI自動化測試工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Android自動化測試】Ui Automator技術(shù)(以對QQ軟件自動發(fā)說說為例)

    【Android自動化測試】Ui Automator技術(shù)(以對QQ軟件自動發(fā)說說為例)

    描述:UI Automator 是一個界面測試框架,適用于整個系統(tǒng)上以及多個已安裝應用間的跨應用功能界面測試。這里我將會拿 QQ軟件的說說模塊進行測試 。 知識點:Ui Automator 難度:初級 效果 1、UiDevice 類 用于在運行目標應用的設備上訪問和執(zhí)行操作,同時還能進行以下操作: 改

    2024年02月12日
    瀏覽(32)
  • 推薦幾個高質(zhì)量的軟件測試實戰(zhàn)項目

    推薦幾個高質(zhì)量的軟件測試實戰(zhàn)項目

    教程:軟件測試項目實戰(zhàn)《黑馬頭條》全通關(guān) 資料鏈接:百度網(wǎng)盤 請輸入提取碼 提取碼:rell 項目概況 黑馬頭條是一款匯集科技資訊、技術(shù)文章和問答交流的用戶移動終端產(chǎn)品,類似于今日頭條的運營模式,用戶通過該產(chǎn)品,可以獲取科技資訊,發(fā)表或?qū)W習技術(shù)文章,討論

    2023年04月09日
    瀏覽(31)
  • 有了這幾個軟件安全測試工具,編寫安全測試報告再也不愁

    有了這幾個軟件安全測試工具,編寫安全測試報告再也不愁

    軟件的安全是開發(fā)人員、測試人員、企業(yè)以及用戶共同關(guān)心的話題,尤其是軟件產(chǎn)品的使用者,因為系統(tǒng)中承載著用戶的個人信息、人際互動、管理權(quán)限等各類隱私海量關(guān)鍵數(shù)據(jù)。軟件安全測試工作不僅是為了用戶,更牽扯到許多的利益共同體。因此軟件安全測試必不可少,

    2024年02月03日
    瀏覽(22)
  • 軟件測試培訓了幾個月,找到工作了,面試經(jīng)驗分享給各位

    軟件測試培訓了幾個月,找到工作了,面試經(jīng)驗分享給各位

    功能方面:問的最多的就是測試流程,測試計劃包含哪些內(nèi)容,公司人員配置,有bug開發(fā)認為不是 bug怎么處理,怎樣才算是好的用例,測試用例設計方法(等價類,邊界值等概念方法),包含哪些內(nèi) 容,怎樣保證用例覆蓋全面,馬上要上線了發(fā)現(xiàn)bug怎么處理,怎么判斷產(chǎn)品

    2024年02月03日
    瀏覽(23)
  • 軟件測試:功能測試-接口測試-自動化測試-性能測試-驗收測試

    軟件測試:功能測試-接口測試-自動化測試-性能測試-驗收測試

    軟件測試的主要流程 一、測試主要的四個階段 1.測試計劃設計階段 :產(chǎn)品立項之后,進行需求分析,需求評審,業(yè)務需求評級,繪制業(yè)務流程圖。確定測試負責人,開始制定測試計劃; 2.測試準備階段 :各成員編寫測試用例、先小組內(nèi)評審、后會議評審,測試樣機和配件,

    2024年02月08日
    瀏覽(33)
  • 【軟件測試】自動化測試selenium

    【軟件測試】自動化測試selenium

    目錄 一、什么是自動化測試 二、Selenium介紹 1、Selenium是什么 2、Selenium的原理 三、了解Selenium的常用API 1、webDriver API?? 1.1、元素定位 1.1.1、CSS選擇器 1.1.2、Xpath元素定位 1.1.3、面試題 ?1.2、操作測試對象 1.3、添加等待? 1.4、打印信息 ?1.5、瀏覽器的操作 1.6、鍵盤事件 1.7、鼠

    2024年01月17日
    瀏覽(26)
  • 軟件測試 -- 自動化測試(Selenium)

    ????????在這里記錄一下? 自動化測試 -- Selenium 的一些基礎知識點,只記錄方法。 Selenium 瀏覽器操作 Selenium 元素定位(包含 Web 表單) findElement 和 findElements ????????findElement 和 findElements 都可以用于定位元素,它們都需要傳入一個 By 類型,但是他們的返回值不同,區(qū)

    2024年04月22日
    瀏覽(56)
  • 淺談UI自動化測試

    淺談UI自動化測試

    最近一直在學習python,正好部門技術(shù)結(jié)構(gòu)調(diào)整,就開始了點工向UI自動化測試的轉(zhuǎn)變,我要說瞌睡來了就掉枕頭么? 不過還好,可以將python的學習成果在自動化測試中實踐。。。 1、about自動化測試 定義 :把人為驅(qū)動的測試轉(zhuǎn)化為機器執(zhí)行的一種過程,重點在于持續(xù)集成這個

    2024年02月09日
    瀏覽(25)
  • 軟件測試/自動化測試/測試開發(fā)/性能測試經(jīng)典好書推薦

    軟件測試/自動化測試/測試開發(fā)/性能測試經(jīng)典好書推薦

    目錄 前言 測試理論與實踐 性能測試 安全測試 自動化測試 編程語言與開發(fā)技能 管理技能 軟件測試入行容易進階難。從測試小白成長為測試經(jīng)理、總監(jiān)級別人才,要跨越長長的技術(shù)棧升級之路,挑戰(zhàn)非常高的綜合能力要求。 大牛都是相似的:具備扎實的測試方法論基礎,能

    2024年02月09日
    瀏覽(44)
  • 軟件測試之單元測試自動化入門基礎

    軟件測試之單元測試自動化入門基礎

    所謂的單元測試(Unit Test)是根據(jù)特定的輸入數(shù)據(jù),針對程序代碼中的最小實體單元的輸入輸出的正確性進行驗證測試的過程。所謂的最小實體單元就是組織項目代碼的最基本代碼結(jié)構(gòu): 函數(shù),類,模塊 等。在Python中比較知名的單元測試模塊: unittest pytest doctest nose 所謂的測試

    2024年02月03日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包