У меня есть SeekBar
библиотеки видеоплеера Android, и я хочу переместить ее с помощью селена в прямом/обратном направлении:
Я хочу переместить этот SeekBar
вперед/назад, но не могу этого сделать. Я пытаюсь двигаться вперед как:
MobileElement seekBar = (MobileElement) driver.findElementByClassName("android.widget.SeekBar");
seekBar.click();
// get start co-ordinate of seekbar
int start = seekBar.getLocation().getX();
// Get width of seekbar
int end = seekBar.getSize().getWidth();
// get location of seekbar vertically
int y = seekBar.getLocation().getY();
// Select till which position you want to move the seekbar
TouchAction action = new TouchAction(driver);
// Move it 40%
int moveTo = (int) (end * 0.4);
action.longPress(start, y).moveTo(moveTo, y).release().perform();
Но это всегда приходит к определенному моменту, изменяю ли я значение для end
и start
или нет. Код, который я пытаюсь переместить назад, выглядит так:
public void moveSeekBarBackward(MobileElement seekBar, AndroidDriver<WebElement> driver) {
// get start co-ordinate of seekbar
seekBar.click();
int start = seekBar.getLocation().getX();
// Get width of seekbar
int end = seekBar.getSize().getWidth();
// get location of seekbar vertically
int y = seekBar.getLocation().getY();
// Select till which position you want to move the seekbar
TouchAction action = new TouchAction(driver);
// Move it 20%
int moveTo = (int) (end * 0.2);
action.longPress(start, y).moveTo(moveTo, y).release().perform();
}
Приведенный выше код запускает видео с того же места, где оно начинается после его пересылки. Пожалуйста, дайте мне знать, если вы правильное решение для него.