• 不行的,捕获 Toast 这个特性就是发布了 UiAutomator2 才有的。

  • 谢谢您的指教,我会在后续对 Appium 和 UiAutomator2 的学习中探索这个问题~

  • #89 楼 @yefnegjun 在网页上显示桌面上元素的前提下,再次打开目标 APP,然后刷新网页不行么?手机端每次页面变化后,都需要重新刷新网页哦~

  • #80 楼 @lynn_qin 卸载后重装是运行 app-inspector 时自动安装的么?

  • #78 楼 @lynn_qin 那我也不知道怎么回事了。。我这边现在使用都很正常了

  • #76 楼 @lynn_qin 你的报错日志里有我说的 “Please check project...”


    请问你试过我后面说的步骤了么?Xcode 打开工程后 bundle id 确认过了么?建议跑app-inspector -u [udid] --verbose前先卸载掉原先安装的 WebDriverAgent~

  • #74 楼 @lynn_qin

    1. 在执行 app-inspector -u [udid] 这条命令的后面加上 “--verbose”,即执行 app-inspector -u [udid] --verbose
    2. 执行结果得到错误 “pid:6280 undefined”,同时会提示 app-inspector 目录下的 webdriveragent 的路径,打开该目录 open /usr/local/lib/node_modules/app-inspector/node_modules/webdriveragent/WebDriverAgent
    3. 使用 XCode 打开该工程,尝试 build 会发现无法 build 成功,因为这个工程里 WebDriverAgentLib 的 Bundle Id 还是 “com.facebook.WebDriverAgentLib”,WebDriverAgentRunner 的 bundle id 还是 “com.enchantin.WebDriverAgentRunner”,而需要做的就是修改他们的 bundle id 使得可以 build 成功,具体修改步骤请参考在 MAC 上搭建 appium1.6.3 过程的第 12 步
    4. build 成功后,将 iPhone 上已经安装的 WebDriverAgent 先卸载,然后再运行app-inspector -u就可以看到 mac 上自动打开http://localhost:5678的页面了

    以上就是我在我的 mac 上解决这个问题的方法,不知道是否也适合你们的情况~

  • #3 楼 @aya 你的代码实现的就是从四分之三的高度,移动到(四分之三的高度 + 四分之一的高度)的位置,所以肯定是下滑的了,要实现上滑,可以试一下如下代码:

    act.press(None, width / 2, height * 3 / 4).move_to(None, width / 2, -1 * height/2).release().perform()
    
  • #20 楼 @junewang 十分感谢!可以实现各个方向的滑动了:

    
    int width = driver.manage().window().getSize().getWidth();
    int height = driver.manage().window().getSize().getHeight();
    
    driver.swipe(width/2, 200, 0, 200, 2000);//向下划动
    
    driver.swipe(width/2, height*2/3, width/2, -1* height/3, 2000);//向上划动
    
    driver.swipe(width * 3 / 4, 100, -1* width / 4, 0, 1000);//向左滑动
    
    
  • #22 楼 @next2016 不好意思,我使用的是 JAVA,不了解你说的内容,你可以在论坛里多找找~

  • #19 楼 @dzn
    #18 楼 @addison
    我当时是按照Appium 1.6 ios 无缝升级 里的步骤升级到 Appium 1.6 的~

  • #16 楼 @run_ice_l AppiumDriver 里的 swipe 方法封装的就是 touch action 啊

    /**
     * @see TouchShortcuts#swipe(int, int, int, int, int)
     */
        @Override
        public void swipe(int startx, int starty, int endx, int endy, int duration) {
            TouchAction touchAction = new TouchAction(this);
    
            // appium converts press-wait-moveto-release to a swipe action
            touchAction.press(startx, starty).waitAction(duration)
                    .moveTo(endx, endy).release();
    
            touchAction.perform();
        }
    

    直接使用 swipe 也是遇到同样的问题哦~

  • #13 楼 @fangdatong 链接里的说法就是一楼提供的解决方法,试过了,还是不可以的😭

  • #10 楼 @ReaLau 不怎么上 QQ 的,加了也没什么用啊~在 TeseterHome 社区就足够啦😀

  • #8 楼 @ReaLau 我的是 Native App~有好的解决方案可一定要 Share 哈~

  • #5 楼 @ReaLau 按我这边的运行效果来看,向下滑动是可以正常实现的,而其他三个方向的滑动都不行,请问你现在有找到合适的方法实现了么❓

  • #3 楼 @seveniruby 已经调整格式了,但是问题还没有解决啊~~请问你现在是怎么处理滑动事件的呢❓

  • #1 楼 @run_ice_l 谢谢,原来我一直都用错了😂

    TouchAction mySwipe1= new TouchAction(driver)
        .press(200, 480)
        .waitAction(2000)
        .moveTo(-100, 0)
        .release();
    
     mySwipe1.perform();//左划
    

    将代码该成相对坐标后执行界面上反倒没有任何滑动的迹象了。。能帮忙再看一下哪里还有问题么?
    运行日志:

    • [MJSONWP] Calling AppiumDriver.performTouch() with args: [[{"action":"press","option...
    • [debug] [XCUITest] Executing command 'performTouch'
    • [JSONWP Proxy] Proxying [POST /uiaTarget/0/dragfromtoforduration] to [POST http://localhost:8100/session/C196489D-6894-4A0D-B8A9-D4589AFF8FB9/uiaTarget/0/dragfromtoforduration] with body: {"fromX":200,"fromY":480,"toX":100,"toY":480,"duration":1}
  • #1 楼 @run_ice_l 谢谢,我试一下~