如何单击android应用程序中的特定元素?

Posted

技术标签:

【中文标题】如何单击android应用程序中的特定元素?【英文标题】:How to click particular element in android app? 【发布时间】:2015-07-15 01:04:54 【问题描述】:

    我已经提供了有关定位器元素的完整详细信息,这些都是我从 android 应用的 appium 检查器获得的。

    在我的测试用例中,我使用文本“CATEGORIES”作为名称并键入“android.widget.TextView”作为类名和 xpath="/android.widget.TextView[1]"。

    李>

    这些是我尝试过的可能性。但是,点击操作不会发生在我身上。

    如何使用定位器点击特定元素?

    详情:

    内容描述: 类型:android.widget.TextView 文本:类别 指数:0 启用:真 可见:假 位置:0, 77 大小:406, 42 可检查:假 检查:假 可聚焦:假 可长按:假 包:com.vivi.droid.qa 密码:假资源ID:空 可滚动:假 选择:假 路径: //android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.support.v4.widget.SlidingPaneLayout[1]/android.widget.RelativeLayout[1] /android.widget.RelativeLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.RelativeLayout[1]/ android.widget.TextView[1]

【问题讨论】:

【参考方案1】:

尝试使用路径点击元素:

示例代码

self.driver.find_element_by_xpath('//UIAApplication[1]/UIAWindow[2]/UIASecureTextField[1]').click()

我使用python,如果你使用任何其他语言代码可能会在语法上有所不同

【讨论】:

使用这个代码:driver.findElementsByxpath("/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.support.v4 .widget.SlidingPaneLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.LinearLayout[1]/android. widget.LinearLayout[1]/android.widget.RelativeLayout[1]/android.widget.TextView[1]").click() 你能分享检查员快照吗?【参考方案2】:

您提到您已尝试但 click() 不起作用。我建议以下解决方案:

解决方案 1 -

您应该检查并确认该元素是否具有属性 clickable = TRUE [如果该元素是可点击的,那么去下一个解决方案]

解决方案 2 -

driver.findElement(By.xpath("//android.widget.TextView[@text='CATEGORIES']")).click(); driver.findElement(By.xpath("//android.widget.TextView[contains(@text,'CATEGORIES'])")).click(); driver.findElement(By.xpath("//android.widget.TextView[contains(@text,'CATEGORIES'] and @index='1')")).click();

【讨论】:

以上是关于如何单击android应用程序中的特定元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 vuejs 从多个元素中定位特定单击的元素

如何从 Android 中的 Fragment 访问 UI 元素?

单击时,Phonegap 推送通知重定向到应用程序中的特定页面

单击元素时从 mongodb 中删除特定的数组元素

单击 Ionic 中的推送通知时如何打开特定页面?

如何让 Espresso 单击特定的 RecyclerView 项目?