appium java版本错误_升级Appium最新java-client 6.0.0包后-问题来了...
前段時間由于想把自己開源的測試平臺LuckyFrame集成移動端的自動化測試,所以選擇了Appium,然后把Appium的JAVA客戶端更新到java-client 6.0.0-BETA2,發(fā)現其中有關于界面滑動(swipe TouchAction)方面的升級(也有可能在之前的版本已經更新過類似的內容,沒仔細看),跟以前舊版本的使用方法不太一樣。
新版本的java-client已經取消swipe方法,以前在老版本中使用這個方法的同學都可以忘記他了,所以可以改用TouchAction的方法替代界面滑動,但是同時我也發(fā)現,很多TouchAction類中的很多老方法也都已經棄用,具體可以參考這邊的官方說明文檔:
https://static.javadoc.io/io.appium/java-client/6.0.0-BETA2/io/appium/java_client/TouchAction.html
大概說一下,以前直接使用int類型(XY軸)去定位還有用到Duration類型的方法,基本全部廢棄了,現在都改用類似下面這種方式,也就是使用了PointOption.point(X坐標, Y坐標),目前看到的能使用的API只有下面的幾個了,其實是整個API蠻得更加簡潔了。
坐標長按
拖動
按住坐標
持續(xù)時間
點擊坐標
具體代碼如下:
怎么去初始化TouchAction
AndroidTouchAction action = new AndroidTouchAction(driver);
點擊如下坐標
action.press(PointOption.point(23, 22))
點擊如下坐標,持續(xù)N秒
int nanos=(int) (second*1000);
Duration duration = Duration.ofNanos(nanos);
action.press(PointOption.point(23, 22)).waitAction(WaitOptions.waitOptions(duration))
下面是Android示例拖動當前頁面向下滾動,親測通過,如果是IOS,估計也只是把AndroidTouchAction 換成IOSTouchAction而已,沒有測試IOS,有興趣的同學可以試試:
int nanos=(int) (1.5*1000);
Duration duration = Duration.ofNanos(nanos);
int width = ad.manage().window().getSize().width;
int height = ad.manage().window().getSize().height;
AndroidTouchAction action = new AndroidTouchAction(ad);
action.press(PointOption.point(width/2, height*3/4)).waitAction(WaitOptions.waitOptions(duration)).moveTo(PointOption.point(width/2, height/4)).release().perform();
上述代碼用到的moveTo方法,我在使用中也碰到問題,如果只需要拖動一次的時候,是沒有問題的。但是當我連續(xù)幾次拖動時,坐標的數值出現了問題。
比如代碼:
AndroidTouchAction action = new AndroidTouchAction(ad);
action.press(PointOption.point(300, 700)).waitAction(WaitOptions.waitOptions(duration)).moveTo(PointOption.point(150, -250)).waitAction(WaitOptions.waitOptions(duration)).moveTo(PointOption.point(-250, 150)).release().perform();
如下圖所示:當連續(xù)幾次moveTo時,傳入的坐標不再是相對坐標了,而是前一個坐標的偏移坐標。
按照API文檔,moveTo方法說明,里面的坐標就是相對坐標,所以這里是否是API的一個BUG?或是故意為之?有待后續(xù)版本的驗證了。
有使用連續(xù)moveTo的要注意別掉坑里面了。
總結
以上是生活随笔為你收集整理的appium java版本错误_升级Appium最新java-client 6.0.0包后-问题来了...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 60开头是什么股票
- 下一篇: 腾讯强制6点下班 正常作息咋就上了热搜