簡體   English   中英

無法在 Android 應用程序中找到自動警報彈出的 appium 中的元素

[英]Unable to locate elements in appium for auto alert pop up in Android App

[在此處輸入圖像描述][1]我有一個應用程序,它會根據用戶是否要啟用或不啟用指紋選項來顯示一個彈出窗口,讓用戶點擊是或否。 - 當密碼通過身份驗證時,會自動出現一個彈出窗口,詢問用戶是否想要啟用指紋。

我嘗試通過它們的 id 和 xpaths 定位元素,但沒有一個工作

driver.findElement(By.id("etEmailAddress")).sendKeys("wa@qa.xyz");
driver.findElement(By.id("btn_continue")).click();
Thread.sleep(5000);
driver.findElement(By.id("etPassword")).sendKeys("PackageX@1");
         driver.findElementByXPath("//android.widget.EditText[@text='Password']").sendKeys("PackageX@1");
driver.findElement(By.id("btn_login")).click();
Thread.sleep(5000);

 ``` //driver.findElement(By.id("app.px.packagex:id/tvNo")).click();
        //driver.findElement(By.id("tvNo")).click();

the last 2 lines above:

    //driver.findElement(By.id("tvYes")).click();
    //driver.findElement(By.id("app.px.packagex:id/tvNo")).click();

I tried using id for both but not working

I want to tap on either of the buttons and then I will be taken into the App where I will be able to see a list of members in the App.

Below is the image in which that pop up appear as auto when CONTINUE button is tapped after providing the password, which asks for Yes or No for FINGERPRINT.:

[enter image description here][1]


  [1]: https://i.stack.imgur.com/M6tIk.jpg

所以花了 2 天后,我可以從這一步開始 go 。

我只是在不知不覺中使用了它,它對我有用。

driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

現在,我只想知道它是如何工作的。 每當幾毫秒后出現彈出窗口並且控件一直等待屏幕/疊加層來自元素可能所在的位置時,這是否有效? 就是想。 現在很高興,但我想確切地知道......請指導它是如何工作的。 我還沒有理解這一點,在所需功能的代碼行下方添加后,並通過評論以上 2 行訪問權限,它能夠順利工作並且沒有顯示任何錯誤

因此,Waqas 這是您理解您所使用的陳述的答案。 那是一種隱含的等待。 所以隱式等待,等待元素,直到找到它。 如果在給定時間之前找到元素,則驅動程序不再等待。

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

在上面的代碼中,驅動程序為每個元素等待 10 秒。 如果未找到元素,則會引發名為 NoSuchElementException 的異常。

另一方面,我們有明確的等待 這種等待是基於某些條件的。 它一直等到條件不滿足。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM