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

当尝试从下到上滑动屏幕直到页面结束时,但在appium中没有发生滑动

党权
2023-03-14

我试图使用touch action类使用swipe查找元素,但Appium服务器抛出一个错误,即命令有问题。我试图使用touch action类使用坐标从一个位置移动到另一个位置。我的代码如下所示:

 @Test(priority=4)
 public void selectprod()
 {

drivertest.manage().timeouts().implicitlyWait(60,TimeUnit.SECONDS);
     WebElement categ= drivertest.findElementsByName("See All").get(1);
    categ.click();

        TouchAction abc=new TouchAction(drivertest);
        abc.longPress(479, 754).moveTo(0, -500).perform();

            if (drivertest.findElement(By.name("Pragnya Manufacturer")).isDisplayed())
            {
                drivertest.findElement(By.name("Pragnya Manufacturer")).click();

            }
       }

服务器正在抛出此错误,如下所示:

服务器没有响应错误

共有2个答案

洪和风
2023-03-14

我可以马上告诉您有4项改进:

>

WebDriverWait wait = new WebDriverWait(driver, 60); //60 is the wait time in seconds
wait.until(ExpectedConditions.visibilityOfElementLocated(locator));

请使用此代码块进行滚动,将startyendy更改为更改滚动长度和方向。

public void scrollDown() 
{
    Dimension size = driver.manage().window().getSize();
    int starty = (int) (size.height * 0.7);
    int endy = (int) (size.height * 0.2);
    int startx = size.width / 2;
    driver.swipe(startx, starty, startx, endy, 800);
}

如果元素不可见,函数isDisplayed()将引发异常,请用trycatch将其包围。

您只需滚动一次,可能元素位于表中较低的位置,我建议您进行for()循环(不要忘记为滚动迭代添加限制)

包沈义
2023-03-14
public static void swipeLeft(AppiumDriver<MobileElement> driver)
    {
        Dimension size = driver.manage().window().getSize(); 
        int startx = (int) (size.width * 0.8); 
        int endx = (int) (size.width * 0.16); 
        int starty = (int)(size.height * 0.75); 
        driver.swipe(startx, starty, endx, starty, 1000);
    }

希望这会有所帮助

 类似资料:
  • 我想在ios上设置wifi状态,为此,我需要从控制中心底部向上滑动。 在我将java客户端升级到4.0.0和appium升级到1.5.2之前,它工作正常。 我得到一个错误:error:VerboseError:point不在屏幕范围内 记录如下: 知道是怎么回事吗? 谢谢

  • 滑动,就是一个点移动另一个点。 用法: def swipe(self, start_x, start_y, end_x, end_y, duration=None): """Swipe from one point to another point, for an optional duration. :Args: - start_x - x-coordinate at

  • 布局(activity_main.xml): 活动(MainActivity.java): 动画: 谢了。

  • 我用Java SDK在HarmonyOS中编写了一个自定义组件,它是一个自定义页面滑块指示器。为此,我添加了一个,它提供了三个重写方法。 每当用户滑动页面时,将调用,这里我面临的问题是,和对于左右滑动是相同的。 那么,如何知道滑动的方向呢?

  • 在文档中,appium为java提供了以下选项: 我在测试中集成了这一点,但在导航到可以使用swipe的屏幕后,使用swipe的方法将不会执行该操作。。。在故障异常面板中,我收到以下错误:“org.openqa.selenium.WebDriverException:尚未实现”。 我想从左向右滑动,但还没有找到其他解决方案。。。 更新:我已经设法通过使用以下代码刷: 问题是,它将只刷一次,即使使用

  • 如何在android应用程序中使用滑动滚动至底部?我试着用 但上述情况并没有起到任何作用。有人能给我推荐一些通用的解决方案吗?