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

Фотография

поддержка SVG


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

#1 maresha

maresha

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:ку

Отправлено 11 апреля 2012 - 03:06

старшие братья, подскажите, пожалуйста, как научить selenium видеть svg элементы?
  • 0

#2 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 11 апреля 2012 - 12:07

старшие братья, подскажите, пожалуйста, как научить selenium видеть svg элементы?

А скорее всего никак (т.е. по координатам). SVG элементы не является частью DOM модели и все это SVG по идее не отличается от встроенного java applet-a или flash-a.
  • 0
Regards,
Alexey

#3 maresha

maresha

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:ку

Отправлено 11 апреля 2012 - 14:45

да, логично, просто только что нашла вот такую вещь: http://www.qaautomation.net/?p=388, где сказано, что следует "specify your xpath with the namespace uri like this instead:

//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']", но познаний не хватает понять, куда именно надо сие следует добавить, чтобы адская машина таки заработала)
  • 0

#4 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 13 апреля 2012 - 10:07

да, логично, просто только что нашла вот такую вещь: http://www.qaautomation.net/?p=388, где сказано, что следует "specify your xpath with the namespace uri like this instead:

//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']", но познаний не хватает понять, куда именно надо сие следует добавить, чтобы адская машина таки заработала)


В общем-то, в приведённой вами статье неплохо расписывается, как указывать элементы на странице для WebDriver'а, в том числе и SVG.

//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']
- эта штука вставляется в xpath, с помощью которого вы будете искать элементы внутри SVG.

Если приведёте пример вашей страницы HTML с SVG, то смогу написать конкретный xpath к какому-нибудь элементу.
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники

#5 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 13 апреля 2012 - 12:33

Возможно я вселил в вас напрасную надежду. Похоже всё-таки, что WebDriver не умеет полноценно работать с SVG. Провёл следующий тест:
public class SvgTest {
    public static void main(String[] args) {
        WebDriver driver = TestDriver.getWebDriver();
        driver.get("http://referencewebapp.qaautomation.net/svg.php");
        WebElement element = driver.findElement(By.xpath("//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']/*[local-name()='g' and namespace-uri()='http://www.w3.org/2000/svg'][4]/*[local-name()='g' and namespace-uri()='http://www.w3.org/2000/svg'][7]/*[local-name()='text' and namespace-uri()='http://www.w3.org/2000/svg']"));
        System.out.println(element.getText());
        element.click();
    }
}

Так вот, клик по элементу не работает, вебдрайвер падает:
WebDriverException: [JavaScript Error: "a.scrollIntoView is not a function"...
Но текст из элемента извлекается успешно. Возможно вам это поможет.
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники


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

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