Appium测试:当clickable = true时单击textview

时间:2015-02-18 20:49:32

标签: android appium

Android有一种技术可以将文本转换为按钮。您将元素设置为可单击,然后为其定义onClick()方法。

在Appium方面,我所看到的是该元素的文本以" @"结尾。字符。例如来自" UI Automator Viewer" :

(2)TextView:购买商品@ [69,1038] [1011,1110]

' @'在实际手机上显示为箭头符号,然后单击箭头,只有箭头,将带您进入另一个对话框(在这种情况下,一个用于购买)。手动单击文本本身不会将应用程序移动到对话框。只需单击箭头即可。

我的Python代码如下:

self.driver.find_element_by_id("com.mycompany.project:id/make_a_purchase_text").click()

click()方法不会将我带到正确的对话框。事实上,根本没有明显的事情发生。我点击了许多按钮的元素,以便达到这一点,所以我知道我的设置很好。在Appium中是否有任何支持进行这种控制?

1 个答案:

答案 0 :(得分:0)

我不确定这是否是最佳方式。对我来说,似乎selenium WebElement无法检测给予TextView或UIAStaticText的附加属性。因此,当我们分配click属性时,元素后面的基类不能执行click事件。 因此,作为一种解决方法,我将触摸事件发送到所需的x,y位置

driver.executeScript("mobile: tap", new HashMap<String, Double>() {
            {
                put("tapCount", 1d);
                put("touchCount", 1d);
                put("duration", 0.52478515625);
                put("x", 127d);
                put("y", 571d);
            }
        });