2016-09-09 63 views
1

我想用Appium自動在Android自動化瀏覽器和本地應用

下面的場景
  1. 首先在Chrome中打開一個網頁。該網頁包含 登記表
  2. 填寫表格,然後點擊提交按鈕
  3. 提交按鈕打開通過URI我的本機應用程序(相同的行爲 爲我們打開了谷歌通過單擊鏈接而市場上玩: // ...)
  4. 與應用

我能爲步1至3自動化最後互動,但在步驟4 stucked

這可能與Appium?有沒有其他測試框架可以自動化這種情況?

+0

步驟3後會發生什麼?步驟3之後的Appium日誌可能有助於瞭解發生了什麼問題。 – Domestus

+0

第3步後,應用程序打開,但功能driver.findElement(By.id(「my_button_id」))不起作用 –

+0

請從您的appium日誌中編輯該時間點直到結束。如果需要,隨意編輯任何應用程序特定的標識符 – Domestus

回答

0

看來這個問題是有關從web視圖上下文的本機應用程序本身的背景下發生變化。這是在Java中使用命令driver.context("NATIVE_APP");

要查看所有可用的上下文使用driver.getContextHandles();,它會返回所有可用的上下文一個Set<String>完成。

原生上下文總是被稱爲「NATIVE_APP」,而webviews通常被編入索引爲「WEBVIEW_0」,「WEBVIEW_1」等等。

通常需要在「NATIVE_APP」上下文中完成與應用程序直接無關的所有交互。

0

它似乎你有超時異常,剛剛從driver.find_element(By.id("my_button_id"))
改變你的代碼,以

WebDriverWait(driver, 10).until(lambda:driver.find_element(By.id("my_button_id")))