【问题标题】:appium clicks on a not visible WebElementappium 点击不可见的 WebElement
【发布时间】:2015-12-29 11:00:10
【问题描述】:

我对我的 android 应用进行了 android appium 测试。

我的应用在启动时有一个带有加载器的 webview。

我有一个想要点击的链接。 该链接应指向另一个网页。

我的 android appium 点击链接 但是因为加载器在前台而不是链接

好像appium已经点击了链接,但是页面没有变化。

有没有办法检查 webElement 是否在前台?或其他我应该在点击之前等待的属性?

这是我的代码:

MyAndroidDriver myAD;


   myAD.changeToWebContext();
        myAD.changeToIFrame(By.name("braintree-dropin-frame"));
        WebElement element = myAD.waitAndGetElementBy(By.id("choose-payment-method"));
        if (element != null) {
            element.click();
            myAD.changeToDefaultIFrame();
            myAD.changeToIFrame(By.name("braintree-dropin-modal-frame"));
            while (myAD.waitAndGetElementBy(By.className("add-payment-method-link")) == null) {
                myAD.changeToDefaultIFrame();
                myAD.changeToIFrame(By.name("braintree-dropin-frame"));
                myAD.waitAndClickElementBy(By.id("choose-payment-method"));
            }
        }
        myAD.changeToNativeContext();

【问题讨论】:

  • 你能分享那个页面截图吗?
  • @Elad Benda:在我的一项项目工作中,我也遇到了同样的问题。在我们的案例中,加载器在 WebView 中,无论我们做了什么试验,它都无法切换到 webView。所以你遇到的问题可能是因为 appium 没有切换到加载器的 WebView。
  • 我们设法使它工作,通过从应用程序中删除加载程序以便进行测试,因为 appium 似乎无法在多个 web 视图之间切换。 This discussion。 @Helping Hands:我们对此有什么解决方案吗?我提供的是一种解决方法。

标签: java android jquery selenium appium


【解决方案1】:

我在我的一个项目中也遇到了同样的问题,当我尝试在后台页面出现几秒钟后手动点击加载器页面时,如果它有效,请手动尝试这种情况

下面是如何以编程方式实现这一点

  1. driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); {这是加载后台页面加载}
  2. ((AppiumDriver)).tap(int,int,int); {点击加载器页面以启用背景页面显示}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-12
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2018-01-05
    相关资源
    最近更新 更多