Appium测试:当clickable=true时点击文本视图



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

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

(2)文本视图:购买物品@[691038][10111110]

"@"在实际手机上显示为箭头符号,单击箭头(仅单击箭头)将转到另一个对话框(在本例中为购买对话框)。手动点击文本本身不会将应用程序移动到对话框中。只有单击箭头才能工作。

我的Python代码看起来像:

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

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

我不确定这是否是最好的方法。对我来说,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);
            }
        });

最新更新