<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用Python撥打電話

          共 4073字,需瀏覽 9分鐘

           ·

          2021-02-05 16:33

          用python撥打電話,先看小視頻



          Python自動(dòng)化技術(shù)廣泛應(yīng)用于測(cè)試、運(yùn)維相關(guān)領(lǐng)域,我自己現(xiàn)在也是做的這方面,工資也不比其他方向少,就業(yè)相對(duì)容易的多,而且需求的公司也多,對(duì)后端框架之類也要求不是很高,是小白入門Python相對(duì)輕松好入門就業(yè)的方向,如果你通過(guò)這個(gè)例子,能感受到樂(lè)趣,不妨細(xì)細(xì)研究一下,市面上更多UI自動(dòng)化案例可能都是基于web瀏覽器自動(dòng)化來(lái)做的,主要原因是更穩(wěn)定一些,而且技術(shù)難度更低,APP的Ui自動(dòng)化如果技術(shù)不扎實(shí),環(huán)境配不好,元素選擇寫不好,可能你跑幾下程序就崩潰了,APP的自動(dòng)化更多可能是基于接口自動(dòng)化來(lái)做,但這些問(wèn)題,并不妨礙我們學(xué)習(xí),根據(jù)我的經(jīng)驗(yàn),常規(guī)的一些注意事項(xiàng)都注意到后,APP的UI自動(dòng)化其實(shí)穩(wěn)定性也還可以的

          跟selenium操作瀏覽器原理類似,這是用appium操作移動(dòng)設(shè)備的一個(gè)自動(dòng)化功能,自?shī)首詷?lè),主要是通過(guò)小案例引出相關(guān)技術(shù)


          一、環(huán)境配置:


          1、安裝 jdk 1.8+ ,并配環(huán)境變量
          2、安裝Android SDK,可以直接下載安裝,也可以通過(guò)android-studio里面安裝,安裝好后配環(huán)境變量,配好后cmd后輸入adb執(zhí)行成功則配好
          3、安裝appium 1.8.0,我用的這個(gè)版本,還挺穩(wěn)定,原生和微信H5支持還可以,其他版本試過(guò)一些,可能原生支持還行,微信公眾號(hào)H5頁(yè)面支持不友好

          二、查看元素


          sdk安裝好后,找到uiautomatorviewer.bat打開(kāi),用來(lái)獲取元素id、text等屬性,用于我們定位元素,這點(diǎn)跟selenium那一套基本一致,不過(guò)有一點(diǎn)值得注意的是,安卓app里面的id并不是唯一的,這個(gè)跟在web里面有區(qū)別,用id的時(shí)候注意看下是否是唯一元素

          用左上角的工具審查元素,比如*鍵,可以看到id是star,其他按鍵各種元素id查看方式一致


          三、配置信息獲取


          1、電腦手機(jī)通過(guò)數(shù)據(jù)線連接好,輸入命令adb devices,獲取手機(jī)的設(shè)備識(shí)別號(hào)



          2、命令行輸入:adb shell dumpsys window windows | findstr "Current"
          用來(lái)獲取當(dāng)前應(yīng)用的包名和啟動(dòng)頁(yè)
          包名:com.android.contacts
          啟動(dòng)頁(yè):com.android.contacts.activities.TwelveKeyDialer


          四、代碼編寫


          代碼如下,我這里有相關(guān)引入文件


          import sys
          sys.path.insert(0,"C:\\Users\\Administrator\\Desktop\\imooc\\python_call")
          from action import Action
          from appium import webdriver

          action = Action()
          # 相關(guān)配置
          action.desired_caps['platformName'] = 'Android' # 平臺(tái)
          action.desired_caps['platformVersion'] = '7.0' # Android版本
          action.desired_caps['deviceName'] = 'a20bc6990604' # 設(shè)備號(hào)
          action.desired_caps['appPackage'] = 'com.android.contacts' # 包名
          action.desired_caps['appActivity'] = 'com.android.contacts.activities.TwelveKeyDialer' # 啟動(dòng)頁(yè)
          action.desired_caps['unicodeKeyboard'] = True # 使用unicode編碼方式發(fā)送字符串
          action.desired_caps['resetKeyboard'] = True # 將鍵盤隱藏起來(lái),默認(rèn)true
          action.desired_caps['noReset'] = True # 應(yīng)用狀態(tài)是否需要重置,默認(rèn)true
          action.desired_caps['automationName'] = 'Uiautomator2' # 自動(dòng)化引擎,兼容原生和H5

          # 控制遠(yuǎn)程appium
          action.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", action.desired_caps)

          # 點(diǎn)擊事件
          action.click_key("id=>one")
          action.click_key("id=>five")
          action.click_key("id=>two")
          action.click_key("id=>three")
          action.click_key("id=>six")
          action.click_key("id=>two")
          action.click_key("id=>eight")
          action.click_key("id=>eight")
          action.click_key("id=>eight")
          action.click_key("id=>star")
          action.click_key("id=>star")
          action.click_key("id=>call_sim1")


          其中click_key是我自定義的方法,比如傳入id=>star后,根據(jù)=>進(jìn)行split切分,前面是id,后面是id值,有些時(shí)候我會(huì)用xpath寫法,其實(shí)我下面是在項(xiàng)目中涉及很多變量,很多單獨(dú)維護(hù)了,可能你看起來(lái)有點(diǎn)復(fù)雜,其實(shí)跟selenium差不多,點(diǎn)擊方法就是click,找元素就是find_element,然后根據(jù)id找的話,要把id值傳進(jìn)去


          byDict = {
            "xpath": By.XPATH,
            "id": By.ID,
          }


          def find_ele(self, loc):
            print(loc.split("=>")[0],loc.split("=>")[1])
             element = WebDriverWait(self.driver, 30).until(
                   lambda x: x.find_element(byDict[loc.split("=>")[0]], loc.split("=>")[1]))
            print(element)
            return element

          def click_key(self, loc):
            self.find_ele(loc).click()


          五、運(yùn)行



          啟動(dòng)appium,以默認(rèn)0.0.0.0:4723啟動(dòng)即可,然后運(yùn)行python程序,即可看到手機(jī)撥打電話執(zhí)行過(guò)程

          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目31講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目31講,即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 40
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美女伊人网 | 一级黄色在线电影 | 黄色片A 乱伦麻豆 | 91爱爱网| 日韩在线观看中文字幕 |