<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## Chromedriver Appium 支持對基于 Chrome 內核的 H5 應用(混合應用)或者網頁(Chrome 中的網頁或者內建的瀏覽器中的網頁)進行自動化。Appium 管理維護著一個 [Chromedriver](https://sites.google.com/a/chromium.org/chromedriver/) 實例,當需要的時候,會使用代理模式將命令傳遞給這個實例。這和 [最新版本的 Chromedriver](https://chromedriver.storage.googleapis.com/LATEST_RELEASE) 是綁定的。我們可以通過 npm 包來安裝 [appium-chromedriver](https://www.npmjs.com/package/appium-chromedriver)。 (Github: [appium-chromedriver](https://github.com/appium/appium-chromedriver))。 不幸的是,隨著 Chromedriver 的每次升級,能支持的 Chrome 的最低版本都會升級。這使得舊版本的設備通常無法通過捆綁安裝的版本進行自動化。于是在 Appium 的服務端就會有這樣的錯誤日志: ``` An unknown server-side error occurred while processing the command. Original error: unknown error: Chrome version must be >= 55.0.2883.0 ``` 為了解決這個問題,我們很有必要去給 Appium 提供一個合適的 Chromedriver 二進制文件去匹配 (https://raw.githubusercontent.com/appium/appium-chromedriver/master/config/mapping.json) 運行在你被測試設備上的 Chrome 引擎的版本。 通過閱讀 `Chromedriver/Chrome compatibility` 這一章節下的內容,你可以了解到更多關于 Chromedriver 可執行文件的信息。 這里有幾個方法去讓你自定義 Appium 中的 Chromedriver: #### 安裝服務時 提供包含實際版本號的 `--chromedriver_version` 命令行參數 ``` npm install appium --chromedriver_version="2.16" ``` 或者在環境變量 `CHROMEDRIVER_VERSION` 中去指定 Chromedriver 的版本, 例如, ``` CHROMEDRIVER_VERSION=2.20 npm install appium ``` 當然你也可以通過設置 `LATEST` 去獲取最新版本。 #### 啟動服務時 通過設定`--chromedriver-executable` 這個服務器標記,你可以在運行時指定 Chromedriver 的版本。而這個服務器的標記會根據 Chromedriver 可執行文件的絕對路徑被手動下載并放入到服務器文件系統相應目錄下。 ``` appium --chromedriver-executable /path/to/my/chromedriver ``` #### 開啟一個會話時(手動發現) 通過設置 `chromedriverExecutable` 來對 Chromedriver 版本進行限制。包括已被手動下載并放入到服務器文件系統的 Chromedriver 可執行文件的絕對路徑后,你可以在會話功能中指定 Chromedriver 的版本。 你可以通過點擊 http://appium.io../../writing-running-appium/caps/ 去查看更多的詳細內容。 通過設置 `chromedriverExecutable` 限制以及匹配的 Chromedriver 可執行文件的完整路徑,你可以在會話功能中指定Chromedriver版本。而這些可執行文件必須手動下載該文件并將其放入服務器文件系統。 #### 開啟一個會話時(自動發現) Appium 可以自動檢測出目標所需要的 Chrome 引擎的版本。當本地文件系統沒有相匹配的 Chromedriver 時,Appium 會自動下載。 你可以通過閱讀 `Automatic discovery of compatible Chromedriver` 章節下的內容去獲取更多詳細信息。 ### Chromedriver/Chrome 的兼容性 你可以在 https://raw.githubusercontent.com/appium/appium-chromedriver/master/config/mapping.json 中找到 Chromedriver 版本的列表以及其能支持的 Chrome 最低版本。 自版本 *2.46* 后,Google 更改了對 Chromedriver 版本控制的規則,所以現在主要的 Chromedriver 版本對應的主版本的 web 視圖/瀏覽器可以被自動化。若想根據 [版本選擇](https://chromedriver.chromium.org/downloads/version-selection) 文檔 去查找最低版本的 Chromedriver (低于73)能支持的最低版本瀏覽器,可以通過獲取 Chrome 的源碼并查看發布提交并且檢查在此文件下 `src/chrome/test/chromedriver/chrome/version.cc` 的 `kMinimumSupportedChromeVersion` 變量。(你可以使用命令 `git log --pretty=format:'%h | %s%d' | grep -i "Release Chromedriver version"` 去找到已經發布的版本 ) 可用的 Chromedriver 版本和發行說明的完整列表在 [此處](https://chromedriver.storage.googleapis.com/index.html)。 ### 自動發現兼容性問題的 Chromedriver 早在1.8.0版本的Appium開始,Appium 就能夠自主選擇一個正確的 Chromedriver 版本進行測試。 雖然發布的Appium版本往往附帶最新版本的 Chromedriver,但也可以下載其他的 Chromedriver 版本并將其放置在 Appium 安裝文件中(不建議這樣做,因為升級 Appium 會將其刪除)。除此之外可以使用 desired capability 中的 `chromedriverExecutableDir` 給 Appium 指定 Chromedriver 的位置。 此功能能讓你在一個絕對路徑下擁有一個或多個 Chromedriver 可執行文件。 同樣,當一個 Appium 版本發布時,可能并不支持新版本的 Chromedriver 。在此情況下,可以通過設置 desired capability 中的 chromedriverChromeMappingFile 將 Chromedriver 驅動自定義映射到它們支持的 Chrome 最低版本。而這一設置里是包含映射的文件的絕對路徑。 該文件的內容要為一個可解析的JSON對象,如: ```JSON { "2.42": "63.0.3239", "2.41": "62.0.3202" } ``` 從 Appium 1.15.0開始,可以從 Google 官方存儲中自動將必要的 chromedriver 下載到 chromedriverExecutableDir 中。腳本將會自動下載支持給定的瀏覽器/網頁視圖的最新版本的 chromedriver,在下載(對于下載的文件會通過哈希和進行驗證)的同時并且添加到 `chromedriverChromeMappingFile` 映射中。你所需要做的事情就是在啟動服務時確保 `chromedriver_autodownload` 是開啟的 (如 `appium --allow-insecure chromedriver_autodownload`)。 您還可以檢查 [安全](https://github.com/appium/appium/blob/master../../writing-running-appium/security.md) 文檔以獲得關于如何控制潛在不安全的服務器特性的詳細信息。 ### 安裝遇到的網絡問題 Appium 安裝的時候需要下載 Chromedriver,所以經常會遇到網絡問題,尤其在有長城防火墻的中國。 Chromedriver 默認是從 `https://chromedriver.storage.googleapis.com/` 下載。如果要使用鏡像的話,需要配置npm的參數 `chromedriver_cdnurl`。 ```bash npm install appium-chromedriver --chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver ``` 或者把這個參數加到你的 [`.npmrc`](https://docs.npmjs.com/files/npmrc) 文件中去. ```bash chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver ``` 也可以使用環境變量 `CHROMEDRIVER_CDNURL`. ```bash CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriver npm install appium-chromedriver ``` 當然最好開著代理或者使用vpn進行下載。 ### W3C 支持 Chromedriver直到第75版才遵循 W3C 標準。當你遇到類似 [這樣](https://github.com/appium/python-client/issues/234) 的代理命令錯誤時,請升級你的 Chromedriver 版本。 舊的 Android 設備不能使用較新的 Chrome 驅動程序。通過使用 the Mobile JSON Wire Protocol 來避免執行測試時的錯誤。 盡管主要版本的 *75* W3C 模式可以根據傳遞的會話功能切換為 JSONWP 模式,但它仍然是 Chromedriver 的默認模式,您可以從 [下載文件](https://sites.google.com/a/chromium.org/chromedriver/downloads) 中閱讀 Chromedriver 中的關于W3C支持的歷史記錄。 本文由 [CrazyForPoor](https://github.com/CrazyForPoor) 翻譯。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看