Как исправить приведенный ниже код в eclipse для прокрутки мобильного приложения?

#eclipse #scroll #testng #appium-android

#eclipse #прокрутка #testng #appium-Android

Вопрос:

Я пишу скрипт для прокрутки мобильного приложения вверх и вниз, но код Appium studio с платформой testng не работает в Eclipse.

Я новичок в такого рода сценариях и тестировании, пожалуйста, помогите это исправить.

Я попробовал код Appium studio. но это нужно исправить для запуска скрипта.

 //package <set your test package>;
import io.appium.java_client.remote.AndroidMobileCapabilityType;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.TouchAction;
import java.time.Duration;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.By;
import org.testng.annotations.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.util.logging.Level;

public class scrollandsave {
    private String reportDirectory = "reports";
    private String reportFormat = "xml";
    private String testName = "scrollandsave";
    protected AndroidDriver<AndroidElement> driver = null;

    DesiredCapabilities dc = new DesiredCapabilities();

    @BeforeMethod
    public void setUp() throws MalformedURLException {
        dc.setCapability("reportDirectory", reportDirectory);
        dc.setCapability("reportFormat", reportFormat);
        dc.setCapability("testName", testName);
        dc.setCapability(MobileCapabilityType.UDID, "330033acecf394bd");
        driver = new AndroidDriver<>(new URL("http://localhost:4723/wd/hub"), dc);
        driver.setLogLevel(Level.INFO);
    }

    @Test
    public void testscrollandsave() {
        new TouchAction(driver).press(480, 1348).waitAction(Duration.ofMillis(624)).moveTo(338, 312).release().perform();
        new TouchAction(driver).press(591, 1376).waitAction(Duration.ofMillis(592)).moveTo(421, 138).release().perform();
        driver.findElement(By.xpath("(//*[@id='listAllImgByCat']/*/*/*/*[@id='icPlayVideo'])[1]")).click();
        new WebDriverWait(driver, 30).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@text='EDIT']")));
        driver.findElement(By.xpath("//*[@text='EDIT']")).click();
        new WebDriverWait(driver, 30).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@text='SAVE']")));
        driver.findElement(By.xpath("//*[@text='SAVE']")).click();
        driver.findElement(By.xpath("//*[@text='Export as GIF']")).click();
        driver.findElement(By.xpath("//*[@id='btnHome']")).click();
    }

    @AfterMethod
    public void tearDown() {
        driver.quit();
    }
}
  

Я ожидаю, что экран должен прокручиваться вниз всякий раз, когда я выполняю приведенный выше код.

Комментарии:

1. Привет, Грег, ты не знаешь, как это исправить?

Ответ №1:

вы можете попробовать этот код driver.executeScript("seetest:client.swipe("Down", 1000, 500)");
. Этот код будет прокручиваться снизу, со смещением 1000 в течение 500 мс. Посетите здесь для получения дополнительной информации