欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Appium的使用與入門(這款神器你值得擁有)

 更新時(shí)間:2021年02月04日 10:02:05   作者:派森醬  
這篇文章主要介紹了Appium的使用與入門(這款神器你值得擁有),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

從石器時(shí)代開始,原始人來已經(jīng)開始學(xué)會(huì)制造并使用工具,以滿足自己的生活所需,這也是人類和動(dòng)物最本質(zhì)的區(qū)別,人類懂得制造并使用工具而動(dòng)物不會(huì)。

21 世紀(jì)的現(xiàn)代社會(huì)更是如此,企業(yè)與企業(yè)之間是人才的競爭,而人的競爭力則嚴(yán)重依賴其會(huì)使用工具的多少以及熟練程度,畢竟古人有云:「君子生非異也,善假于物也」。

軟件測試作為軟件發(fā)布前的最后一個(gè)環(huán)節(jié),起著至關(guān)重要的作用。雖然在很多公司里相對于開發(fā)來講,公司對測試崗都不太重視,但這絕對不能掩蓋其地位的重要性,稍有疏漏,就可能給公司帶來巨大的損失。

縱觀國內(nèi)各公司大部分的測試工作依然都是手動(dòng)完成的,這不僅是對人力資源的巨大浪費(fèi),同時(shí)還伴隨著巨大的潛在風(fēng)險(xiǎn)。因?yàn)槿擞袝r(shí)候會(huì)犯錯(cuò),而機(jī)器則不會(huì)。所以我們要盡可能的把可以自動(dòng)化的操作交給機(jī)器去完成,從而解放我們的雙手,去做一些更有意義的事情。

什么是 Appium

Appium 是一個(gè)開源的移動(dòng)端自動(dòng)化框架,可用于測試原生應(yīng)用,移動(dòng)網(wǎng)頁應(yīng)用和混合型應(yīng)用,且其是跨平臺(tái)的,可用于 iOS 和 Android 操作系統(tǒng)。這也就意味著你可以針對不同的平臺(tái)使用同一套 Api 來編寫測試程序,以提高代碼的服用行和可維護(hù)性。

設(shè)計(jì)思想

為了更好的應(yīng)對千變?nèi)f化的需求,Appium 沒有和某一門具體的語言綁死,開發(fā)者可以使用自己最熟悉的任何語言來使用該框架。Appium 之所以這么靈活完全得益于其優(yōu)秀的設(shè)計(jì)思路,該框架使用 client-server 的設(shè)計(jì)模式,只要 server 端可以收到 client 端發(fā)送過來的請求,那么 client 端用什么語言來實(shí)現(xiàn)其實(shí)意義已經(jīng)不大了,無關(guān)緊要。

這樣的設(shè)計(jì)思想帶來了巨大的好處,其一就是使框架可以做到支持多語言,其二則是可以把 server 端放在任何機(jī)器上,即使是云服務(wù)器上也完全沒有問題。

入門

想必在程序圈兒的你肯定對 Hello World 不陌生,每當(dāng)我們學(xué)習(xí)一個(gè)新的技術(shù)的時(shí)候基本都會(huì)寫一個(gè) Hello World 的 demo 來快速熟悉該技術(shù),同樣,今天我就帶著大家做一個(gè)入門 Appium。

首先我們把環(huán)境搭建起來,依次安裝下列軟件。

  • Android Studio
  • JDK
  • Python 3.8
  • PyCharm
  • 網(wǎng)易模擬器
  • Appium 桌面版

之所以需要安裝 Android Studio 完全是因?yàn)殒溄影沧磕M器調(diào)試 App 程序時(shí)會(huì)用到 Android SDK,而 Android Studio 附帶了 Andoid SDK,固直接安裝 Android Studio。另外我們選擇 Appium 桌面版,是因?yàn)樽烂姘娓綆Э梢暬僮鹘缑?,對新手比較友好。

其中前四個(gè)大家可能都比較熟悉,自行安裝即可。Appium 則需從 https://github.com/appium/appium-desktop/releases/tag/v1.18.3 下載對應(yīng)的版本直接安裝就可以了。

安裝完成后啟動(dòng) Appium,Host 和 Port 默認(rèn)即可,接著點(diǎn)擊下面的配置按鈕進(jìn)入配置頁,設(shè)置完成 Android Home 和 Java Home 后直接啟動(dòng) Server 就可以了。

當(dāng)看到如下界面時(shí),恭喜你,Server 已經(jīng)啟動(dòng)成功了。

接下來,我們開始完善 client 端,其實(shí)就是代碼而已,直接調(diào)用 Api 即可。因?yàn)槲覀兪且ㄟ^ Appium 來操控模擬器上的 App,所以需要先將模擬器啟動(dòng)。命令行輸入 adb devices 如果看到以下信息,則說明模擬器是正常的。

接著就是編寫 client 端代碼了,

from appium import webdriver

desired_capabilities = {
  "platformName": "Android", # 操作系統(tǒng)
  "deviceName": "emulator-5554", # 設(shè)備 ID
  "platformVersion": "6.0.1", # 設(shè)備版本號(hào)
  "appPackage": "com.tencent.mm", # app 包名
  "appActivity": "com.tencent.mm.ui.LauncherUI", # app 啟動(dòng)時(shí)主 Activity
  'noReset': True # 是否保留 session 信息 可以避免重新登錄
}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_capabilities)
print('鏈接到安卓模擬器')

有了以上信息之后,我們就可以通過程序直接鏈接到模擬器,然后自動(dòng)啟動(dòng)微信 App 了。

那么啟動(dòng)了微信 App 之后我們還可以做什么操作呢?基本上我們手動(dòng)可以做的操作,程序都可以替我們完成。

driver.find_element_by_id('com.tencent.mm:id/f8y').click()
print('查找搜索按鈕')
time.sleep(3)

driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('Python 技術(shù)')
print('查找搜索輸入框 & 寫入搜索關(guān)鍵字')
time.sleep(3)

driver.find_element_by_id('com.tencent.mm:id/tm').click()
print('點(diǎn)擊 icon 圖標(biāo)')
time.sleep(3)

driver.find_element_by_id('com.tencent.mm:id/cj').click()
print('點(diǎn)擊右上角頭像')
time.sleep(3)

driver.find_element_by_id('com.tencent.mm:id/a1u').click()
print('點(diǎn)擊第一篇文章')

上面這一套代碼做了什么操作呢,簡言之就是通過搜索找到「Python 技術(shù)」公眾號(hào),然后再去到該公眾號(hào)主頁并且查看了第一篇文章。同時(shí)程序?yàn)榱私o App 留出一點(diǎn)反應(yīng)時(shí)間,我們在每次發(fā)送指令后均讓程序休息 3 秒鐘。

細(xì)心的你可能發(fā)現(xiàn)了,上述代碼主要涉及到三個(gè) Api, find_element_by_id() 、 send_keys() 以及 click ,看函數(shù)名也就知道是做什么的了。

那么,我們怎么知道某個(gè)元素的 ID 呢?這時(shí)候就又要請出我們的桌面版 Appium 了。點(diǎn)擊「啟動(dòng)成功」界面右上角的放大鏡圖標(biāo)。之后將上述程序中的配置信息添加上去,最后點(diǎn)擊「Start Session」按鈕,不出意外的話你應(yīng)該能看到微信啟動(dòng)界面了,就是那個(gè)地球。

但是細(xì)心的你會(huì)發(fā)現(xiàn),模擬器上的界面和 Appium 上的不一致,此時(shí)需要你刷新下 Appium 上的界面信息,點(diǎn)擊下圖中的刷新按鈕就可以了。

如果想獲取某個(gè)元素的 ID,那么則先選中選擇按鈕,接著選中你想要獲取 ID 的元素即可。

總結(jié)

今天我們學(xué)習(xí)了自動(dòng)化神器 Appium,其實(shí)該框架不僅僅只是用來做測試,其用武之地可多著呢,比如定時(shí)給女票發(fā)微信提醒她「多喝熱水」,哈哈哈,小伙伴們可以發(fā)揮自己的想象力做一些好玩的工具出來哦。

示例代碼:https://github.com/JustDoPython/python-examples/tree/master/doudou/2020-10-20-appium

到此這篇關(guān)于Appium的使用與入門(這款神器你值得擁有)的文章就介紹到這了,更多相關(guān)Appium使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 踩坑記錄關(guān)于"authentication failed "的解決方法

    踩坑記錄關(guān)于"authentication failed "的解決方法

    今天給大家分享我的踩坑記錄關(guān)于報(bào)錯(cuò) authentication failed,這個(gè)報(bào)錯(cuò)的原因是“身份驗(yàn)證失敗”,本文給大家分享我的解決方法,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • 關(guān)于Xmind免費(fèi)激活方法(推薦)

    關(guān)于Xmind免費(fèi)激活方法(推薦)

    這篇文章主要介紹了關(guān)于Xmind免費(fèi)激活方法,下載好之后需要打開安裝路徑然后激活,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能

    thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能

    今天給大家分享一個(gè)使用 thymeleaf 實(shí)現(xiàn)一個(gè)動(dòng)態(tài)加載一二級(jí)文章分類的功能,本文通過代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-11-11
  • 利用ChatGPT與MindShow制作一個(gè)PPT的方法詳解

    利用ChatGPT與MindShow制作一個(gè)PPT的方法詳解

    PPT制作是商務(wù)、教育和各種場合演講的重要組成部分,然而,很多人會(huì)花費(fèi)大量時(shí)間和精力在內(nèi)容生成和視覺設(shè)計(jì)方面,為了解決這個(gè)問題,我們可以利用兩個(gè)強(qiáng)大的工具——ChatGPT和MindShow,來提高制作PPT的效率,感興趣的同學(xué)可以參考閱讀
    2023-06-06
  • Visual?Studio中文注釋亂碼兩種解決方案

    Visual?Studio中文注釋亂碼兩種解決方案

    這篇文章主要給大家介紹了關(guān)于Visual?Studio中文注釋亂碼兩種解決方案,如果在Visual Studio Code中注釋出現(xiàn)亂碼,可能是因?yàn)槲募幋a格式不正確,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • HttpGet請求與Post請求中參數(shù)亂碼原因剖析與解決方案

    HttpGet請求與Post請求中參數(shù)亂碼原因剖析與解決方案

    這篇文章主要介紹了HttpGet請求與Post請求中參數(shù)亂碼原因剖析,文中有相關(guān)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Python和Go成為2019年最受歡迎的黑客工具(推薦)

    Python和Go成為2019年最受歡迎的黑客工具(推薦)

    這篇文章主要介紹了Python和Go成為2019年最受歡迎的黑客工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 如果你有這33種癥狀了請離開電腦去走走吧!

    如果你有這33種癥狀了請離開電腦去走走吧!

    這篇文章主要介紹了如果你有這33種癥狀了請離開電腦去走走吧!本文是關(guān)注程序員、上班族身心健康的文章,需要的朋友可以參考下
    2014-09-09
  • ArcGIS Pro 按照字段進(jìn)行融合或拆分的操作步驟

    ArcGIS Pro 按照字段進(jìn)行融合或拆分的操作步驟

    ArcGIS Pro 是 Esri 提供的功能全面的專業(yè)桌面 GIS 應(yīng)用程序,這篇文章主要介紹了ArcGIS Pro 按照字段進(jìn)行融合或拆分,需要的朋友可以參考下
    2024-02-02
  • github pull最新代碼實(shí)現(xiàn)方法

    github pull最新代碼實(shí)現(xiàn)方法

    本文主要介紹 github pull最新代碼的資料,這里對 github pull最新代碼做了詳細(xì)流程介紹,有需要的小伙伴可以參考下
    2016-09-09

最新評論