当前位置: 首页 > 知识库问答 >
问题:

得到错误的移动应用程序:长点击没有实现...

彭兴朝
2023-03-14

我正在使用Java和Appium版本1.2.0自动化一个本地Android应用程序。我想自动长按列表中的一行,以显示一些可以通过长按访问的选项,现在我手动测试它。这就是我尝试过的:

     WebDriverWait wait = new WebDriverWait(driver, 30);
     HashMap<String,String> longtapObj= new HashMap<String,String>();
    WebElement elem = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//android.widget.ListView[1]/android.widget.RelativeLayout[1]")));
    JavascriptExecutor js = (JavascriptExecutor) driver;        
    longtapObj.put("element", ( (RemoteWebElement) elem).getId()  );
     js.executeScript("mobile:longClick", longtapObj);

Appium服务器日志错误:

2014-09-02T23:29:45.808Z-调试:收到带有参数的请求:{“args”:[{“element”:“5”}],“script”:“mobile:longClick”}2014-09-02T23:29:45.810Z-调试:响应未实现方法的客户端

2014-09-02T23:29:45.810Z-信息:

2014-09-02T23:29:48.518Z-info:--

Eclipse JUnit错误:

org.openqa.selenium.WebDriverException:尚未实现。请帮助我们:http://appium.io/get-involved.html (警告:服务器未提供任何stacktrace信息)命令持续时间或超时:9毫秒

如果注释掉了语句js.executeScript(“mobile:longClick”,longtapbj);不会抛出任何错误。如果有人知道在本机android应用程序中使用Appium实现日志按压的正确方法,我将不胜感激。

共有3个答案

慕俊迈
2023-03-14
    JavascriptExecutor js = (JavascriptExecutor) driver;
    HashMap<String, String> longTapObject = new HashMap<String, String>();
    longTapObject.put("element",((RemoteWebElement)w1).getId());
    js.executeScript("mobile: longClick", longTapObject);

上面的代码在java Appium版本1.2.4.1中适用

许琛
2023-03-14
mobile:longClick  is no longer supported by appium version greater than 1.0.0. As you are using Appium version 1.2.0. so you have to perform this action by using something like this.

如:

 testObject = this.WaitAndGetElement();//element on which long tap is to be performed          
TouchAction action = new TouchAction(rm);// rm is the instance of appium driver.       
Thread.Sleep(1000); 
action.Press(testObject).Wait(1000).Perform();

有关更多信息,请访问:TouchAction

如果有帮助请告诉我

汝弘深
2023-03-14

版本1.5中的更改

删除长期不推荐使用的手机:xxx

所以你应该:

>

  • 安装Android支持库...

    Android测试支持库可通过Android SDK管理器获得

    要通过SDK Manager下载Android支持存储库:

    1. 启动Android SDK管理器。
    2. 在SDK管理器窗口中,滚动到软件包列表的末尾,找到Extras文件夹,如有必要,展开以显示其内容。
    3. 选择Android支持存储库项目。
    4. 单击安装软件包。。。按钮

    使用触摸动作

    driver.performTouchAction(新的TouchAction(驱动程序)。

  •  类似资料:
    • 我使用npm模块进行了测试:backend.js上的“node-dev”和文件夹根目录上的“serve”。 我有两个指南试图帮助我: 和另一个来自Scotch.io的“在Heroku上使用MongoDB和node.js应用程序” 我在文章中没有做的不应该很重要:在tilcode中,它说使用github生成一个SSH密钥...相反,我用我的mac做了一个,用一些指南做了一个终端命令。 总结一下我的步

    • 我正在使用已知来连接我的应用程序中的 postgres。我在运行时收到以下错误 参考一些线程,我知道我必须添加事务调用,但我是否需要添加应用程序的所有sql调用? 在留档中,它没有给我关于何时添加这个的详细信息?为什么是必须的?我的查询大多是“GET”类型,因此不确定这些查询是否需要应用事务?

    • 我对这个新的Facebook界面感到非常困惑,它的沙盒按钮在运行中丢失了。 在开发一个应用程序的中间,所以我在沙箱模式-你想让这个应用程序和它的所有现场功能可供大众使用吗?设置为否(我只是在开发) 我以应用程序管理员的身份登录到我的iOS设备facebook帐户,我已经正确设置了iOS和bundle ID,正确设置了FBID,但每次尝试从设备登录facebook时,我都会。。。 “应用程序未设置:

    • 我在下面写这段代码,这是一个简单的用户注册选项,当我按下创建我的帐户按钮时,我得到:任何人都可以找出原因?我自己想不出来。提前谢谢大家 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12-28 18:38:57.792 3358-3358/gr.aegean.icsd15109.myfitupE/

    • 我的输出是吐司: 事实上,我不想吐司错误味精像这样…我想简单的信息像“电子邮件或密码是错误的。再试一次” 帮帮我谢谢

    • 日志猫错误:我不知道这意味着什么,因为我是android新手,请帮助解决这个问题,因为它今晚到期LOL:( 带按钮的菜单页面(沙漠按钮进入沙漠菜单) 沙漠页面,应该像其他任何东西一样打开,但应用程序停止