首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java和Appium:无法单击元素

Java和Appium:无法单击元素
EN

Stack Overflow用户
提问于 2015-09-11 15:50:27
回答 5查看 3.5K关注 0票数 0

在我正在测试的Android应用程序中,我正在尝试单击/轻敲时间选择器。例如,默认情况下,时间选择器显示08:00AM我想将小时从8更改为7&然后更改分钟,但是xpath似乎不起作用。它点击了一些东西,但当我通过代码点击OK按钮时,时间仍然显示为08:00AM。如果有人可以帮助我,那么我将能够改变分钟& PM的AM以及。

这是我用来点击小时选择器,这样7就会显示为选中状态:

代码语言:javascript
运行
复制
driver.findElement(By.xpath("//android.widget.NumberPicker[0]/android.widget.Button[0]")).click();

图片:

EN

回答 5

Stack Overflow用户

发布于 2015-09-12 16:27:24

以下是对我有效的解决方案:

使用MobileElement.的

  1. 我使用的也是click,而不是RemoteWebDriver,所以我不知道这是否会起作用。
  2. 忘记AndroidDriver ()。使用MobileElement的tap(int fingers,int duration)方法。我没有在互联网上找到什么是持续时间(秒,毫秒,等等,所以这些值只是点击和试用)。

我已经发布了下面的代码&它起作用了。它可能需要改进,但现在我很高兴,因为我不是一个铁杆程序员。

现在假设小时是可变的,这取决于您的测试

代码语言:javascript
运行
复制
            // change hour
            @SuppressWarnings("unchecked")
            List<WebElement> buttons = driver.findElementsByClassName("android.widget.Button");
            MobileElement hour = (MobileElement) buttons.get(0);
            List<WebElement> highlights = driver.findElementsByClassName("android.widget.EditText");
            MobileElement hourHighlight = (MobileElement) highlights.get(0); // highlighted hour

            // lets say we need hour = 4

            while (!hourHighlight.getText().equalsIgnoreCase("4"))
            {
                Thread.sleep(100);
                if (hourHighlight.getText().equalsIgnoreCase("4"))
                {
                    break;
                }
                hour.tap(1, 10);
            }
票数 1
EN

Stack Overflow用户

发布于 2015-09-11 16:10:53

我已经尝试通过文本查找一个元素,即'7‘,它对我有效,请尝试使用:

代码语言:javascript
运行
复制
driver.findElementsByName("7").click();

or

helpers.element(By.name("7")).click();

您还可以使用变量而不是文本来单击特定时间

如果有效,请让我知道

票数 0
EN

Stack Overflow用户

发布于 2015-09-11 21:49:04

试试这个:

代码语言:javascript
运行
复制
driver.findElementByName("7").click();

代码语言:javascript
运行
复制
driver.findElementByXPath("//*[@class='android.widget.button' and @text='7']").click();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32518284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档