Код SeleniumRC для получения текста сообщения электронной почты и определения местоположения почты с / без использования XPath - PullRequest
0 голосов
/ 16 мая 2011

Я новичок в Selenium RC и использую Selenium + Java + Eclipse.

У меня есть требование, чтобы открыть мой Gmail и нажать на электронное письмо, затем прочитать электронное письмо и щелкнуть ссылки в части телаэтой почты.

  1. В стандартном режиме GMail я не могу найти какую-либо почту.Любая подсказка, как это сделать?Ниже приведен код, который я применил, но безуспешно.

    selenium.clickAt("/html/body/table[2]/tbody/tr/td[2]/table[1]/tbody/tr/td[2]/form/table[2]/tbody/tr[4]/td[3]/a/span", "0,0");
    
  2. В режиме HTML в Gmail, используя XPath, я не могу каждый раз находить определенную почту из-за новых писем в папке «Входящие».,Есть идеи, как с этим справиться?

  3. Есть идеи, как получить текст сообщения по почте?Если я использую Selenium.getText("xpath"), то текст сообщения будет меняться вместе с новыми электронными письмами в папке «Входящие».Как мне этого добиться?

Есть ли другой способ без использования XPath?

1 Ответ

0 голосов
/ 16 мая 2011

Перепишите выражение xpath, которое Selenium IDE сгенерировал для вас автоматически.Сделайте его более общим.

Итак, вместо

/html/body/table[2]/tbody/tr/td[2]/table[1]/tbody/tr/td[2]/form/table[2]/tbody/tr[4]/td[3]/a/span

Используйте (например)

//form//a/span

, чтобы получить все гиперссылки с тегом span, которые содержатсяв любом месте формы.

Это вернет список пролетов.Затем отфильтруйте эти записи, оставьте только те узлы, которые вам нужны, и проверьте некоторые условия.

Вы также можете использовать

"//form//a/span[contains(text(),'" + linktext + "')]";

, где linktext - это текст, который вы ищете (имя отправителяили тема почты, я полагаю)

...