<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      APP H5 混合自動(dòng)化使用說(shuō)明 [基于 Appium+Python 系列]

      背景

      前幾天接到H5開(kāi)發(fā)人員那邊的業(yè)務(wù)開(kāi)發(fā)需求單,說(shuō)想將H5接入到自動(dòng)化系列中,特此記錄分享一下。

      也可參考testerhome發(fā)表的文章鏈接:https://testerhome.com/topics/7866

       

      環(huán)境前置準(zhǔn)備

      • 手機(jī)與電腦USB連接,開(kāi)啟USB調(diào)試模式,通過(guò)adb devices可查看到此設(shè)備。
      • 電腦端、移動(dòng)端安裝chrome瀏覽器。(盡量保證移動(dòng)端chrome版本低于電腦端)
      • App webview開(kāi)啟debug模式
      • 在電腦端Chrome瀏覽器地址欄輸入chrome://inspect/#devices,進(jìn)入調(diào)試模式:
        • 此時(shí)頁(yè)面顯示了手機(jī)型號(hào)、驅(qū)動(dòng)名稱、APP要調(diào)試的WebView名稱
        • 點(diǎn)擊inspect,若成功加載與APP端相同界面的調(diào)試頁(yè)面,則配置成功
        • 若獲取不到WebView或者調(diào)試頁(yè)面預(yù)覽框顯示空白,則需要進(jìn)行VPN破解–安裝FQ軟件(由于默認(rèn)的DevTools使用的是appspot服務(wù)器,這在國(guó)內(nèi)是需要翻越GWF)

      嘗試解決方法:

      1、在windows host文件中增加:

      61.91.161.217  chrome-devtools-frontend.appspot.com
      61.91.161.217    chrometophone.appspot.com

       

      2、使用FQ軟件,如Lantern藍(lán)燈

      環(huán)境檢查

      App webview 調(diào)試模式檢查與開(kāi)啟

      • 基礎(chǔ)檢查方式

        • 打開(kāi)app對(duì)應(yīng)的h5頁(yè)面,在chrome://inspect/#devices地址中,檢查是否顯示對(duì)應(yīng)的webview,如沒(méi)有,則當(dāng)前未開(kāi)啟調(diào)試模式。
        • 在自動(dòng)化代碼中,進(jìn)入到對(duì)應(yīng)的H5頁(yè)面,輸出當(dāng)前context,如果一直顯示為Natvie,則webview未開(kāi)啟。
      • 開(kāi)啟方式
        在app中配置如下代碼(在WebView類中調(diào)用靜態(tài)方法setWebContentsDebuggingEnabled):

        if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) {  
         WebView.setWebContentsDebuggingEnabled(true);
        }

         

        注:此步驟,一般需要App前端開(kāi)發(fā)人員協(xié)助增加

      瀏覽效果

      chrome://inspect/#devices地址效果圖類似如下:

       

      點(diǎn)擊inspect,正常則顯示為如下:

       

       

      代碼實(shí)現(xiàn)

      下述演示demo,均以微信App中的H5為例:
      微信默認(rèn)H5調(diào)試模式處于關(guān)閉,可用微信打開(kāi)聊天窗口,輸入debugx5.qq.com, 在彈出內(nèi)核調(diào)試【信息】頁(yè)面中 勾選"是否打開(kāi)TBS內(nèi)核Inspector調(diào)試功能" 來(lái)打開(kāi)調(diào)試功能。

      Python+Appium+WebDriver

      __author__ = 'mikezhou'
      #coding=utf-8
      
      #appium 微信h5自動(dòng)化示例
      from appium import webdriver
      import time
      
      packageName='com.tencent.mm'
      appActivity='.ui.LauncherUI'
      
      desired_caps = {}
      desired_caps['platformName'] = 'Android'
      desired_caps['platformVersion'] = '5.1.1'
      desired_caps['deviceName'] = 'K31GLMA660800338'
      desired_caps['appPackage'] = packageName
      desired_caps['appActivity'] = appActivity
      desired_caps['fullReset'] = 'false'
      desired_caps['unicodeKeyboard'] = 'True'
      desired_caps['resetKeyboard'] = 'True'
      desired_caps['fastReset'] = 'false'
      
      desired_caps['chromeOptions']={'androidProcess': 'com.tencent.mm:tools'}   #驅(qū)動(dòng)H5自動(dòng)化關(guān)鍵之一
      
      driver = webdriver.Remote('http://127.0.1.1:4723/wd/hub', desired_caps)
      
      driver.implicitly_wait(30)
      driver.find_element_by_name('').click()
      print driver.contexts
      driver.find_element_by_name('相冊(cè)').click()
      driver.find_element_by_xpath("//*[contains(@text,'正在繁星直播')]").click()
      print driver.current_context
      driver.find_element_by_xpath("//*[contains(@text,'正在繁星直播')]").click()
      print driver.current_context
      driver.switch_to.context('WEBVIEW_com.tencent.mm:tools')
      print driver.current_context
      print driver.page_source
      driver.find_element_by_xpath('//*[@id="btnRecommend"]/div[1]').click()
      driver.switch_to_default_content()
      time.sleep(2)
      driver.quit()

       

      Python+AppiumLibrary+RobotFramework

      注:RF關(guān)鍵字與用例部分,只提供關(guān)鍵代碼,一些前置需要導(dǎo)入的library,自行添加:

      App啟動(dòng)關(guān)鍵字

      Open MobileFx Android App_H5
          [Arguments]    ${remote_url}    ${deviceName}    ${appActivity}    ${appPackage}    ${platformVersion}    ${Process}
          ...    ${app}=${Empty}
          [Documentation]    *啟動(dòng)手機(jī)繁星app_H5[Android]*
          ...
          ...    入?yún)㈨樞颍?    ...
          ...    Arguments: 遠(yuǎn)程服務(wù)地址|設(shè)備名稱|待測(cè)應(yīng)用appActivity| 待測(cè)應(yīng)用package包名|平臺(tái)版本號(hào)|webveiw進(jìn)程名
          ...
          ...    Examples:
          ...
          ...    | Open MobileFx Android App H5 | http://localhost:4723/wd/hub | Android Emulator | .ui.LauncherUI | 'com.tencent.mm | 4.4.2 | com.tencent.mm:tools |
      
      
          ${androidProcess}=    Create Dictionary    androidProcess=${Process}
          Open Application    ${remote_url}    alias=fanxingappForAndroid    platformName=Android    deviceName=${deviceName}    automationName=appium    appActivity=${appActivity}
          ...    appPackage=${appPackage}    platformVersion=${platformVersion}    unicodeKeyboard=True    resetKeyboard=True    app=${app}    chromeOptions=${androidProcess}

       

      套件用例區(qū)

      *** Settings ***
      Suite Setup       啟動(dòng)app
      Suite Teardown    Close All Applications
      Library           AppiumLibrary
      
      *** Variables ***
      ${appActivity}    .ui.LauncherUI
      ${appPackage}     com.tencent.mm
      ${deviceName}     ${get_deviceName}
      ${platformVersion}    ${get_platform_version}
      ${remote_url}     ${android_remote_url}
      ${androidProcess}    com.tencent.mm:tools
      
      *** Test Cases ***
      微信分享驗(yàn)證
          [Documentation]    檢查首頁(yè)搜索
          [Tags]    mikezhou    main    online
          [Setup]
          [Timeout]
          Click Element Wait    name=我
          ${contexts}    get_contexts
          ${current_context}    get_current_context
          log    ${contexts}
          log    ${current_context}
          Click Element Wait    name=相冊(cè)
          ${current_context}    get_current_context
          log    ${current_context}
          Click Element Wait    xpath=//*[contains(@text,'助力鹿晗')]
          ${current_context}    get_current_context
          log    ${current_context}
          Click Element Wait    xpath=//*[contains(@text,'助力鹿晗')]
          ${current_context}    get_current_context
          log    ${current_context}
          Switch To Context    WEBVIEW_com.tencent.mm:tools
          ${current_context}    get_current_context
          log    ${current_context}
          ${page}    Log Source
          log    ${page}
          Page Should Contain Text    鹿晗    timeout=15
          Page Should Contain Text    概念詮釋冒險(xiǎn)精神
          Click Element Wait    xpath=/html/body/div[1]/div
          sleep    3
          [Teardown]
      
      *** Keywords ***
      啟動(dòng)app
          Open MobileFx Android App_H5    ${remote_url}    ${deviceName}    ${appActivity}    ${appPackage}    ${platformVersion}    ${androidProcess}

       

      結(jié)束語(yǔ)

      感慨最近事事不利,感昌近十幾天了都未好轉(zhuǎn)。

       

       

      福利

      最近TesterHome社區(qū)創(chuàng)始人思寒在極客時(shí)間出版了個(gè)人專欄,針對(duì)移動(dòng)端自動(dòng)化測(cè)試實(shí)戰(zhàn),推薦給大家,希望對(duì)大家有所幫助

      原文閱讀

       

       

       
       
       

       
       
      posted @ 2017-03-09 15:48  狂師  閱讀(8433)  評(píng)論(5)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲精品一区国产精品| 好紧好爽午夜视频| 亚洲 小说区 图片区 都市| 免费超爽大片黄| 亚洲综合网一区中文字幕| 无遮无挡爽爽免费视频| 少妇被黑人到高潮喷出白浆| 婷婷综合亚洲| 国产精品18久久久久久麻辣 | 久久国内精品一区二区三区| 日韩人妻无码一区二区三区99| 国产超碰无码最新上传| 亚洲国产欧美在线人成AAAA| 精品一区二区三区在线播放视频 | 国产极品美女高潮无套| 日韩精品卡一卡二卡三卡四| 一个人免费观看WWW在线视频| 精品国产乱码久久久久app下载| 色午夜久久男人操女人| 亚洲成人免费一级av| 日韩少妇内射免费播放| 国产国产精品人体在线视| 青岛市| 疯狂做受XXXX高潮国产| 97久久久亚洲综合久久| 无码精品人妻一区二区三区老牛| 久久精品国产99亚洲精品| 久久99国产精品久久99| 国内熟妇与亚洲洲熟妇妇| 精品国产一区av天美传媒| 国产精品中文字幕二区| 成人综合婷婷国产精品久久蜜臀| 国产成人精品97| 她也色tayese在线视频| 欧美日韩国产亚洲沙发| 欧美另类精品xxxx人妖| 中文字幕第一页国产| 亚洲色大成网站WWW永久麻豆| 一区二区三区无码免费看| 国产99久一区二区三区a片| 日韩在线观看 一区二区|