А почему теряется? И смысл чего теряется?именно кликнуть, ведь просто перейти на линку mail.google.com/mail/?shva=1#compose это не правильно, теряется смысл
Selenium RC не находит элемент
#41
Отправлено 14 декабря 2010 - 10:19
#42
Отправлено 14 декабря 2010 - 10:50
А почему теряется? И смысл чего теряется?
именно кликнуть, ведь просто перейти на линку mail.google.com/mail/?shva=1#compose это не правильно, теряется смысл
теряется смысл проверки.
Кнопка может находиться на странице, но где доказательства того, что она работает в таком случае?! а вот если мы кликнем по ней, то это будет наверняка
#43
Отправлено 14 декабря 2010 - 14:18
KaZiK, спасибо большое! Теперь все работает
не могу разобраться сама, нужна помощь специалистов :)
Как реализовать клик по кнопке "Compose mail! в gmail-e для перехода на страницу написания нового письма.
Воспроизвести записанные шаги в селениум иде не удается - ругается на click("//div[@id=':of']/div[1]/div");
логинюсь
выбираю нужный фрейм selectFrame(id=canvas_frame);
жду появления текста waitForTextPresent(Compose mail);
как сделать клик по элементу с текстом Compose mail?! подскажите свежие варианты, плиз
click(//div['Compose mail']) - добилась того, что селениум иде по крайне мере не ругается, а находит елемент, но перехода на нужную страницу не происходит :(
Либо doubleClickAt(locator, "") либо mouseOver + mouseDown + mouseUp на диве.
Второй вариант точно рабочий. Да и вообще при работе с гуглом лучше использовать clickAt. Проверено ;)
сделала через mouseOver + mouseDown + mouseUp
#44
Отправлено 03 марта 2011 - 00:25
Но сразу же возникла следующая проблема: Как ввести адрес получателя письма.
Попробовала с помощью
selenium.click("//*[@id=\":jc\"]");
selenium.type("//*[@id=\":jc\"]", "text");
ошибки нет, но и действий не происходит. Может кто-нибудь может подсказать?
в последствии появилась ошибка, что элемент не найден. Id постоянно меняется. Выход из ситуации пока так и не нашла
#45
Отправлено 03 марта 2011 - 06:49
Тоже долго мучилась с кнопкой Compose mail. В итоге помогло mouseOver + mouseDown + mouseUp.
Но сразу же возникла следующая проблема: Как ввести адрес получателя письма.
Попробовала с помощью
selenium.click("//*[@id=\":jc\"]");
selenium.type("//*[@id=\":jc\"]", "text");
ошибки нет, но и действий не происходит. Может кто-нибудь может подсказать?
в последствии появилась ошибка, что элемент не найден. Id постоянно меняется. Выход из ситуации пока так и не нашла
используйте xpath
я обратилась к полю, в которое надо ввести адрес вот так:
selenium.type("//div['to']", "email");
#46
Отправлено 22 марта 2011 - 11:14
Вот мой код:
selenium.selectFrame("//*[@id='ctl00_ctl00_Content_Content_txtFldFullDescr___Frame']"); selenium.selectFrame("//html/body/table/tbody/tr[2]/td/iframe/"); selenium.type("//html/body","<p>Test pin from Selenium staff</p>");
Возникает ошибка "ERROR: Element //html/body/table/tbody/tr[2]/td/iframe/ not found", хотя данный путь прописан правильно.
Прикрепляю html-код данного элемента:
html.PNG 19,99К 15 Количество загрузок:
#47
Отправлено 22 марта 2011 - 12:15
Есть несколько подозрений:Здравствуйте! У меня похожая проблема - selenium не может почему-то найти элемент.
Вот мой код:selenium.selectFrame("//*[@id='ctl00_ctl00_Content_Content_txtFldFullDescr___Frame']"); selenium.selectFrame("//html/body/table/tbody/tr[2]/td/iframe/"); selenium.type("//html/body","<p>Test pin from Selenium staff</p>");
Возникает ошибка "ERROR: Element //html/body/table/tbody/tr[2]/td/iframe/ not found", хотя данный путь прописан правильно.
Прикрепляю html-код данного элемента:
html.PNG 19,99К 15 Количество загрузок:
1) В вашем локаторе для фрейма последний слеш может оказаться лишним.
2) Возможно, xpath-локатор неприменим в данном выражении
Попробуйте какой-то другой локатор. Например здесь перечислены возможные формы локаторов.
#48
Отправлено 03 июня 2011 - 08:28
Чтобы не плодить темы, оформлю тут ещё одну ситуацию:
Необходимо ввести текст в текстовое поле редактора tinyMCE. Ни Selenium IDE ни RC не хотят находить это поле и тем более не пишут туда текст.
Вот код страницы:
IDE вообще никак не определяет, а путьselenium.Type("//html/body/div/div/div/form/div[2]/div/span/table/tbody/tr[2]/td/iframe/html/body[@id='tinymce']/p", "adawdawd");работать не хочет.
Там ближе к элементу есть несколько tr, возможно tr[2] тут не подходит, хотя других идентификаторов у него нет...
Подскажите в чём может быть проблема?
Помогите пожалуйста с решением аналогичной проблемы:
посоветовали написать так:
public class Untitled extends SeleneseTestCase { public void setUp() throws Exception { setUp("http://tinymce.moxiecode.com/", "*chrome"); } public void testUntitled() throws Exception { selenium.open("/examples/full.php"); selenium.selectFrame("content_ifr"); selenium.focus("tinymce"); selenium.type("tinymce", "Some text"); selenium.selectFrame("relative=parent"); } }
имеется похожая проблема:
уже и Java Robot использовать начал чтобы ввести данные в это окно, причем на Firefox и Chrome все работает шикарно
мой код аналогичен :
selenium.selectFrame("//*[@id='xEditingArea']/iframe"); selenium.focus("fckbodycontent"); selenium.type("fckbodycontent", "Some text"); selenium.selectFrame("relative=parent");
Получается навести фокус на данный фрейм, переходит курсор в данное окно, но текст в него не вводится
P.S. для лисы и хрома проходит и обычный
selenium.type("xPathDiscussionsDescription", dD.title); xPathDiscussionsDescription = "//html[@dir='ltr']/body"
#49
Отправлено 03 июня 2011 - 21:14
Да, я встречалась, что в ИЕ такое не прокатывает =) Даже встречала случаи, что type не работал при вводе в iframe (tinymce) даже в ФФ. Специально просили программистов добавить в body что-то еще.
Единственное, что могу предложить - это делать фокус на "предыдущий" элемент, а затем нажимать TAB и вводить нативным методом Insert string. Решение не супер , но оно универсально и подойдет для всех случаев
#50
Отправлено 04 июня 2011 - 05:08
GFSD, то есть в ФФ и хроме работает вот это selenium.type("fckbodycontent", "Some text"); ?
Да, я встречалась, что в ИЕ такое не прокатывает =) Даже встречала случаи, что type не работал при вводе в iframe (tinymce) даже в ФФ. Специально просили программистов добавить в body что-то еще.
Единственное, что могу предложить - это делать фокус на "предыдущий" элемент, а затем нажимать TAB и вводить нативным методом Insert string. Решение не супер , но оно универсально и подойдет для всех случаев
да,
selenium.type("fckbodycontent", "Some text");так проходит в ФФ
и проходит вот так:
selenium.type("//html[@dir='ltr']/body", "Some text");
Тоже просил программистов добавить id в body, добавили этот "fckbodycontent", но не помогает...
TAB и нативные методы оставляю на десерт. :) Придется делать заглушку только для IE по вводу в данные окна...
может быть все таки удастся средствами Selenium ввести?..
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных