我试图使用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();
}
}
服务器正在抛出此错误,如下所示:
服务器没有响应错误
我可以马上告诉您有4项改进:
>
WebDriverWait wait = new WebDriverWait(driver, 60); //60 is the wait time in seconds
wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
请使用此代码块进行滚动,将starty
和endy
更改为更改滚动长度和方向。
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()
将引发异常,请用try
和catch
将其包围。
您只需滚动一次,可能元素位于表中较低的位置,我建议您进行for()
循环(不要忘记为滚动迭代添加限制)
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应用程序中使用滑动滚动至底部?我试着用 但上述情况并没有起到任何作用。有人能给我推荐一些通用的解决方案吗?