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

如何在android本机应用程序的Java中使用appium执行刷卡

范志勇
2023-03-14

我需要滑动我的应用程序(从左到右和从右到左),无论我在appium中使用Java为Android本地应用程序自动化。

我尝试过这个链接,刷方法在android自动化测试中不起作用

但我不能,是否有其他链接请分享或任何人帮助我。

共有3个答案

仲孙铭
2023-03-14

使用以下代码在Junit for android本机应用程序中使用appium进行刷卡,

    public void swipe()
    {  
    JavascriptExecutor js = (JavascriptExecutor) driver;
    HashMap<String, Double> swipeObject = new HashMap<String, Double>();
    swipeObject.put("startX", 0.95);
    swipeObject.put("startY", 0.5);
    swipeObject.put("endX", 0.05);
    swipeObject.put("endY", 0.5);
    swipeObject.put("duration", 1.8);
    js.executeScript("mobile: swipe", swipeObject);
     }

//在需要刷卡的地方调用此方法,

    swipe(); //it will call the swipe method

我已经尝试了这个,并在Android本地应用程序中成功刷卡。

这可能有助于了解更多信息:

https://github.com/appium/appium/blob/master/docs/en/gestures.md

戚晨
2023-03-14

不推荐使用swipe()方法。

因此,我们可以使用以下方法。

向左滑动将执行以下操作:

new TouchAction(driver).longPress(250, 1200).moveTo(900, 1200).release().perform();

刷卡权限将按以下方式执行:

new TouchAction(driver).longPress(1000, 450).moveTo(500, 450).release().perform();

在这里,驱动程序是您的驱动程序,如Android驱动程序远程网络驱动程序AppiumDriver

和250,1200和其他是您的应用程序视图坐标,您可以在位于android-sdk平台工具下的UIAutomaterView批处理文件中看到。

糜正业
2023-03-14

下面是我们如何做到这一点-

左击-

appiumDriver.context("NATIVE_APP"); 
Dimension size = appiumDriver.manage().window().getSize(); 
int startx = (int) (size.width * 0.8); 
int endx = (int) (size.width * 0.20); 
int starty = size.height / 2; 
appiumDriver.swipe(startx, starty, endx, starty, 1000);

向右滑动-

appiumDriver.context("NATIVE_APP"); 
Dimension size = appiumDriver.manage().window().getSize(); 
int endx = (int) (size.width * 0.8); 
int startx = (int) (size.width * 0.20); 
int starty = size.height / 2; 
appiumDriver.swipe(startx, starty, endx, starty, 1000);

这里,appiumDriver是io.appium.java_client.appiumDriver的一个实例

 类似资料:
  • 当我尝试在ios应用程序中执行刷卡操作时,它会显示此错误。 [org.openqa.selenium.未知命令,除滚动之外的所有移动命令都已删除。(警告:服务器没有提供任何stackTrack信息)。] 请给我答案。

  • 我用serenity和appium(v2.3.12) 我的场景需要将应用程序从本机切换到打开chrome,并验证表单以创建新帐户,然后返回本机并尝试登录。 我使用serenity.properties的经典方式实例化appiumDriver,并使用UIAutomator2自动化应用程序。当我需要在chrome中切换时,我会使用具有相同url和新功能的新AppiumDriver,如下所示: Chro

  • 我最近开始研究iOS本机应用程序自动化- MAC OS 10.10.2iOS模拟器-iPhone 5s,iOS8.1 Appium 1.3.4 应用在应用商店中-我正在使用此应用商店应用的.App文件 Appium.app中的iOS设置-应用路径-为.app文件提供路径强制设备-模拟器设备 代码- 我还尝试只在代码中提供应用程序路径,但没有在appium.app中提供,我尝试使用和不使用应用程序的

  • 我正在Android应用程序上进行自动化测试,需要滚动才能看到需要滚动的字段 我尝试从这里使用以下代码: 运行此代码后,会出现以下错误: 嗯,我知道我已经通过了中的驱动程序,该驱动程序的类型是。 我该怎么解决这个问题?

  • 我正试图通过Appium、Selenium框架自动化一些在Android设备上运行的移动应用程序测试。我已经在Selenium中设置了测试类,并尝试使用以下所需功能启动android驱动程序。我的Appium版本是1.4.16.1 当我在真正的三星设备上运行测试时,应用程序被打开,然后在打开时立即崩溃,并带有消息,我的测试应用程序是 当我在Appium桌面控制台中查看日志时,我看到以下内容: 请帮

  • 我的目标是在下拉列表中向下滚动,直到用户可以看到TN等状态。当scrollTo()方法工作时,这在Appium中是可能的,但在当前的Appium构建中,它们被弃用。我试过驾驶。但是什么也没发生。我不太熟悉iOS谓词,但也尝试过使用它们。 到目前为止,替代方案已经尝试过,但都没有奏效: #1 #2: