Перейти к содержимому

Фотография

Как нажать кнопку "обзор" для выбора файла.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 nicetrip

nicetrip

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Алексей Танана


Отправлено 19 марта 2013 - 12:48

Всем привет!

findElement(By.xpath("//input[@id=\"id_file\"]")).click();

В тестируемом веб-приложении, для выбора загружаемого файла, необходимо нажать кнопку "обзор". Сама кнопка по xpath, CSS замечательно обнаруживается, но click() по ней, очевидно, не производится.
Пробовал обойти проблему с помощью AutoIt, но он никак не определяет эту кнопку в окне браузера.
Открыть окно выбора файла по прямой ссылке нет возможности.

Что делать?
  • 0

#2 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 19 марта 2013 - 12:55

Всем привет!

findElement(By.xpath("//input[@id=\"id_file\"]")).click();

В тестируемом веб-приложении, для выбора загружаемого файла, необходимо нажать кнопку "обзор". Сама кнопка по xpath, CSS замечательно обнаруживается, но click() по ней, очевидно, не производится.
Пробовал обойти проблему с помощью AutoIt, но он никак не определяет эту кнопку в окне браузера.
Открыть окно выбора файла по прямой ссылке нет возможности.

Что делать?

Попробуйте событиями мыши на нее кликать. (MousUp, MouseDown)
  • 0

#3 nicetrip

nicetrip

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Алексей Танана


Отправлено 19 марта 2013 - 13:29

Попробуйте событиями мыши на нее кликать. (MousUp, MouseDown)


Могли бы вы привести пример? При попытке воспользоваться одним из методов, Eclipse выделяет их красным, хотя в импортированном классе (autoitx4java.AutoItX) они есть.
  • 0

#4 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 19 марта 2013 - 14:18


Попробуйте событиями мыши на нее кликать. (MousUp, MouseDown)


Могли бы вы привести пример? При попытке воспользоваться одним из методов, Eclipse выделяет их красным, хотя в импортированном классе (autoitx4java.AutoItX) они есть.

Усли через селениум, то
selenium.mouseDown(locator); или selenium.mouseUp(locator);

Если используете вебдрайвер то:
Mouse mouse = ((HasInputDevices) driver).getMouse();
WebElement myElement = driver.findElement(By.id("foo"));

mouse.mouseDown((Coordinates) myElement.getLocation());
mouse.mouseUp((Coordinates) myElement.getLocation());
  • 0

#5 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 19 марта 2013 - 14:49

вам нужно именно проверить наличие окошка или же залить файл на сервер и сделать с ним какие-то действия? Если последнее, то http://software-test...p?/topic/25415/
  • 1

#6 nicetrip

nicetrip

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Алексей Танана


Отправлено 20 марта 2013 - 08:03

Vitalik_V, ваш пример так и не удалось применить.

appmen, именно это и нужно, помогло.

Спасибо!
  • 0

#7 O'Leen

O'Leen

    Новый участник

  • Members
  • Pip
  • 55 сообщений
  • Город:Киев

Отправлено 20 марта 2013 - 12:46

appmen, именно это и нужно, помогло.

Спасибо!


а что именно помогло? Конструкция типа

driver.findElement(By.xpath("xxxxxxx")).sendKeys(C:\\Users\\ ... \\xxx.jpg) ?
  • 0

#8 nicetrip

nicetrip

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Алексей Танана


Отправлено 20 марта 2013 - 12:57

а что именно помогло? Конструкция типа
driver.findElement(By.xpath("xxxxxxx")).sendKeys(C:\\Users\\ ... \\xxx.jpg) ?


File file = new File(C:\\Users\\ ... \\xxx.jpg);
WebElement fileInput = findElement(By.xpath("//input[@id=\"id_file\"]"));
fileInput.sendKeys(file.getAbsolutePath());

  • 0

#9 O'Leen

O'Leen

    Новый участник

  • Members
  • Pip
  • 55 сообщений
  • Город:Киев

Отправлено 20 марта 2013 - 19:26

В тестируемом веб-приложении, для выбора загружаемого файла, необходимо нажать кнопку "обзор". Сама кнопка по xpath, CSS замечательно обнаруживается, но click() по ней, очевидно, не производится.


кстати, кликнуть на кнопку тоже можно благополучно используя конструкцию
new Actions(driver).moveToElement(element).click().perform();

Открывается окно для выбора файла, правда как туда прописать путь к нужному файлу не совсем понятно.
Если кто знает, буду благодарна за ответ :)
  • 0

#10 nicetrip

nicetrip

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Алексей Танана


Отправлено 21 марта 2013 - 07:11

кстати, кликнуть на кнопку тоже можно благополучно используя конструкцию

new Actions(driver).moveToElement(element).click().perform();

Открывается окно для выбора файла, правда как туда прописать путь к нужному файлу не совсем понятно.
Если кто знает, буду благодарна за ответ :)


С такой конструкцией у меня также не кликается.
После открытия окна, поиск элементов и действия над ними можно производить с помощью AutoIt.
  • 0

#11 O'Leen

O'Leen

    Новый участник

  • Members
  • Pip
  • 55 сообщений
  • Город:Киев

Отправлено 21 марта 2013 - 08:30

С такой конструкцией у меня также не кликается.

В смысле вот так
new Actions(driver).moveToElement(driver.findElement(By.xpath("//input[@id=\"id_file\"]"))).click().perform();
не кликается? Странно...
  • 0

#12 nicetrip

nicetrip

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Алексей Танана


Отправлено 21 марта 2013 - 08:52

Да, так - не кликается.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных