<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之旅 廣告
                ## 從源碼運行Appium 你想從源碼運行Appium并幫助修復BUG和添加功能嗎? 真棒!只需要fork工程,添加一個修改,然后發送pull請求即可! 在開始之前請閱讀我們的代碼風格指南([Style Guide](style-guide.md)。 在發送pull請求前請確保通過單元和功能測試;關于如何運行測試等更多信息,請繼續閱讀! ### Node.js Appium 使用 JavaScript 編寫,運行在 [Node.js](https://nodejs.org/) 引擎里,目前支持 Node.js 6及以上版本。強烈推薦使用版本管理器,以便 Node.js 可以全局安裝在系統上。 * NVM - [https://github.com/creationix/nvm](https://github.com/creationix/nvm) * N - [https://github.com/tj/n](https://github.com/tj/n) 為了方便Appium管理依賴,安裝 Node.js 同時,也需要安裝 [NPM](https://www.npmjs.com/) 包管理工具。Appium 支持 NPM 3及以上版本。 (翻譯備注:新版的 Node.js 已經集成了NPM,所以在安裝 Node.js 時候,NPM 也一起安裝好了) ### 從源碼配置 Appium Appium 的配置涉及: 1. Appium Server —— 在你的測試代碼和設備或模擬器之間通過 Appium Server 來回發送消息 2. 測試腳本 —— 任何客戶端語言都可以,只要和 Appium 兼容 運行 Appium Server,然后運行你的測試。 快速開始: ```center git clone https://github.com/appium/appium.git cd appium npm install npm run build node . ``` ### 搗鼓改造 Appium 安裝 [appium-doctor](https://github.com/appium/appium-doctor),運行 appium-doctor,驗證所有依賴是否都正確安裝完成(因為構建 Appium 的依賴,和運行是 Appium 的依賴是不同的): ``` npm install -g appium-doctor appium-doctor --dev ``` 安裝 Node.js 依賴: ``` npm install ``` 當從 GitHub 中拉新代碼時,如果`package.json`有更改,需要刪除舊的依賴關系并重新運行`npm install`: ``` rm -rf node_modules && rm -rf package-lock.json && npm install ``` 此時,您將可以啟動 Appium Server: ```center node . ``` 完整的參數列表,請參考[the server documentation](../writing-running-appium/server-args.md) #### 鼓搗 iOS 上的Appium 為了避免啟動iOS應用程序時可能出現的安全對話框,您必須通過以下兩種方式之一修改`/etc/authorization`文件: 1. 手動修改`/etc/authorization`文件中的`<key>system.privilege.taskport</key>`下的`<allow-root>`的值為`<true/>`。 2. 運行以下命令,為您自動修改`/etc/authorization`文件: ```center sudo npm run authorize-ios ``` 此時,運行: ``` rm -rf node_modules && rm -rf package-lock.json && npm install ``` 現在你的 Appium 實例已經準備好了。運行`node .`以啟動Appium服務器。 #### 鼓搗 Android 上的Appium 確保已安裝`ant`、`maven`、`adb`且已添加到 PATH 環境變量,還需要安裝 android-19及以上版本的 sdk。在 Appium 本地倉庫打開命令行,使用以下命令安裝/運行以下包: 通過運行以下命令配置 Appium: ``` rm -rf node_modules && rm -rf package-lock.json && npm install ``` 確保您只有一個 Android 模擬器或設備運行,例如,通過在另一個進程中運行此命令(假設`emulator`命令在您的路徑上): ```center emulator -avd <MyAvdName> ``` 現在,您可以通過`node .`運行Appium服務器了。 #### 確保你的代碼是最新的 由于Appium使用某些軟件包的開發版本,因此通常需要安裝新`npm`軟件包或更新各種軟件。運行`npm install`將更新所需的一切。當 Appium 升級版本時,您還需要執行此操作。在運行`npm install`之前,建議先刪除`node_modules`目錄中的所有舊依賴項: ``` rm -rf node_modules && rm -rf package-lock.json && npm install ``` ### Different packages Appium 由大量不同的包組成,雖然可以在單個包中運行,但通常情況下,無論是修復bug還是添加新功能,都需要同時運行在在多個包之上。 運行`npm install`安裝的都是已發布的依賴,而有些情況下,我們需要連接本地開發版本的包。 當包`A`依賴包`B`,以下步驟可以連接這兩個包: 1. 打開一個終端,進入包`B` ``` cd B ``` 2. 使用 [NPM link](https://docs.npmjs.com/cli/link) 為包`B`,創建符號鏈接(symbolic link) ``` npm link ``` 3. 打開另一個終端,進入包`A` ``` cd A ``` 4. 使用 [NPM link](https://docs.npmjs.com/cli/link) 連接依賴包`B`的開發版本 ``` npm link B ``` 這樣`A`使用的`B`的版本,就是你本地的開發版本了。 但是這樣的 JavaScript 更改,只在被轉換(transpiled)時生效。 如果你準備從包`A`開始測試,需要在包`B`目錄下運行`npm run build`. ### 運行測試 首先,請查看我們關于[running tests in general](../writing-running-appium/running-tests.md) 的文檔,確保您的系統正確設置為您希望測試的平臺。 一旦您的系統配置完畢,您的代碼是最新的,您可以運行單元測試: ```center npm run test ``` 您可以用以下命令,對所有受支持的平臺運行功能測試(確保在另一個窗口中運行Appium`node .`): ```center npm run e2e-test ``` ### 調試 Node 本項目在[VSCode](https://code.visualstudio.com/)中運行 NodeJS 代碼,有多個啟動配置項: * _Debug_: debug 模式運行 Appium 服務,這樣就能在 VSCode 源文件里設置斷點了 * _Attach Debug_:連接到當前運行中的 Appium 服務 * 用法示例 * 根路徑運行`node --inspect-brk . --port 5555` * 運行`attach debug` * 在 VSCode 里設置斷點 * _Test All_:運行`test/`路徑下的所有 mocha tests, 測試代碼、源碼里都可以設置斷點 * _Test Current File_:只運行當前的選中的 mocha 文件。如果不是有效的mocha test,就會運行失敗。 (翻譯說明:Mocha 是一個 JS 測試框架) ### 提交代碼 每個 Appium 包都會配置一個檢查(pre-commit)hook,在提交完成前,這個 hook 會運行 [linter](https://eslint.org/) 和單元測試,這個過程中出現任何錯誤,都會阻止本次提交。 只要往 [GitHub](https://github.com/)上的 Appium 倉庫,提交代碼以及創建 [pull request](https://help.github.com/articles/about-pull-requests/),Appium 構建系統就會執行所有功能測試。 本文由 [校長](https://testerhome.com/xushizhao) 翻譯,由 [lihuazhang](https://github.com/lihuazhang) 校驗。
                  <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>

                              哎呀哎呀视频在线观看