【问题标题】:Appium - Java Action CheckAppium - Java 动作检查
【发布时间】:2017-02-14 18:17:09
【问题描述】:

我正在编写一个测试脚本,该脚本可与 Java 上的 Appium (Selenium) 一起用于移动设备。 脚本中有如下代码:

 _driver2.swipe(startXL, startYL, endXL, endYL, 100);

_driver2.tap(1, startX, startY, 100);

这些方法滑动游戏对象或点击游戏中的按钮。

这里有一些细节: 刷卡方法是使用屏幕上的绝对位置。 Tap方法是使用图像识别函数计算的位置。

这是我的问题: 测试运行时;如果设备的屏幕与预期不同,例如推送通知或本机对话框,则测试不会停止,仍会尝试查找图像/位置,然后单击/滑动。

如果屏幕与预期不同或游戏对象没有移动,我想让它停止。

我的问题可能不清楚,但我可以逐条评论给你详细的评论。 提前谢谢你。

【问题讨论】:

    标签: java selenium image-processing appium


    【解决方案1】:

    你可以使用一个简单的 if else 条件

    如果找到元素 { Swipe }

    Else { 执行其他操作 }

    【讨论】:

    • 谢谢,但我没有使用“元素查找器”,我使用的是图像识别和特定位置。
    • 你可以使用图片定位器代替元素
    • 如果找到图像 {script for swipe }
    • 这就是问题所在。我正在使用 OpenCV,它总是能找到匹配项,但没有控件,或者我找不到。
    【解决方案2】:
        Step 1:
        public boolean isElementFound(String element)
            {
                try{
                WebElement webElement = driver.findElement(By.xpath(element));
                System.out.println("isElementFound : true :"+element);
            }catch(NoSuchElementException e){
                System.out.println("isElementFound : false :"+element);
                return false;
            }
        Step 2 : while(isElementFound(String element))
                 {
        TouchAction touchAction = new TouchAction(appiumDriver);
                System.out.println(startx+" "+starty);
                System.out.println("Entering swipe");
    
                    System.out.println("Swipe from "+startx +" " +starty +"to" +endx +" " +endy );
                    touchAction.press(startx, starty).waitAction(duration).moveTo(endx,endy).release().perform();
    
    
     //   WebElement webElement = appiumDriver.findElement(By.xpath(element));
                webElement.click();
    
                 }
    

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 2017-07-04
      • 2014-11-18
      • 2016-08-01
      • 1970-01-01
      • 2016-04-08
      • 2021-04-13
      • 2020-02-11
      • 1970-01-01
      相关资源
      最近更新 更多