В автоматизации я пока что новичок.
Вникаю в Selenium IDE.
Возник вопрос.
Есть поле "Текст заметки" с фреймом. Вид http://imm.io/Dn2D
Никак не могу добится операции клика и набора текста в этом поле на Selenium IDE.
В автоматизации я пока что новичок.
Вникаю в Selenium IDE.
Возник вопрос.
Есть поле "Текст заметки" с фреймом. Вид http://imm.io/Dn2D
Никак не могу добится операции клика и набора текста в этом поле на Selenium IDE.
покажите, код вашего теста, который вы сделали?
я подразумеваю, что не делаете переключения в фрейм
для того, чтобы работать с данными из фрейма вам необходимо на него сначала переключиться, а потом уже работать с ним
вот что касается фрейма:
selectFrame xpath=/html/body/div/div/div[5]/div/div[5]/div/div/div/div[3]/span/span[2]/span/table/tbody/tr[2]/td/iframe
type ???
selectFrame relative=parent
Уточняю ситуацию.
focus с xpath=/html/body, вставляет курсор в правильное место, но type з теми же параметрами не пишет.
во первых, избегайте вот таких вот локаторов xpath=/html/body/div/div/div[5]/div/div[5]/div/div/div/div[3]/span/span[2]/span/table/tbody/tr[2]/td/iframe
посмотрите видео, как правильно писать локаторы
во вторых у вас проблема, не в фрейме, а в том, что type команда работает для input поля
вот потому, у вас и не печатает
а можно как-то отключить этот редактор? или суть в том чтобы протестировать сам редактор ввода данных?
как можно подругому ввести данные, ну например, через javascript
Судя по названию ID элементов вы пытаетесь тестировать CKE Editor. Ровно такую задачу я выполнил в прошлом месяце, покрыв автотестами 99% его функциональности. У вас ошибка в локаторе, используйте названия фреймов или конструкции типа
selectFrame | relative=up |
Или обращайтесь к феймам по индексу...
Посмотрите описание используемой вами команы selectWindow - "Selects a frame within the current window. (You may invoke this command multiple times to select nested frames.) To select the parent frame, use "relative=parent" as a locator; to select the top frame, use "relative=top". You can also select a frame by its 0-based index number; select the first frame with "index=0", or the third frame with "index=2". You may also use a DOM expression to identify the frame you want directly, like this: dom=frames["main"].frames["subframe"]"
Если у вас возникают трудности могу помочь, но вы лучше не скриншоты, а исходный код страницы прикрепляйте, а еще лучше используйте запись тестов, селениум сам запишет вам имя фрейма.
Вот код:
polusok, это поле "Текст заметки" обязательно должно быть заполнено.
Спасибо за видео. Изучаю....
qaleader пробую.....
Попытался помочь Елене.
Товарищи кто глубже знаком с IDE подскажите пожалуйста почему он не хочет вводить текст в этот фрейм? Реализовал ту же логику на WebDriver там все работает и текст вводится. Возможно это баг самого IDE? Вот код для IDE
TestHelp | ||
open | http://www.rutraveller.ru/ | |
clickAndWait | link=Заметки | |
assertTitle | Главная страница заметок о путешествиях | RuTraveller — Фотографии и отчеты путешественников | |
clickAndWait | css=strong.side-note-add-strong | |
assertTitle | Написать заметку | RuTraveller - Фотографии и отчеты путешественников | |
click | css=div.content-wrap > div.clear > div.leftbar | |
selectFrame | xpath=//iframe | |
type | xpath=//body | Текст должен быть тут. |
Вот код рабочий код вебдрайвера на C#:
Лень ставить IDE, но попробуйте
На питоне пользовал CKEeditor, не хотел ничего писать в поле, пока я не кликнул в него
self.driver.switch_to_default_content()
метод mouse_click пожаловал из action chains, потому что обычным driver.find_element_by_xpath(xpath).click() кликать не хотел
Текст вставлял джава скриптом, потому что он огромный :) Не могу себе позволить ждать печатанья 15000 символов
PS на каком моменте повисает тест? Именно воода?
а можете кинуть ссылочку на похожий редактор где-то в интернете
чтобы можно было попробовтаь
Проблема только в самом IDE, при использовании Webdriver все работает корректно. Ошибка на моменте ввода текста в фрейм - ничего не вводится, при этом тест не падает. Я тоже раздумывал над тем чтобы выполнить этот клик и ввод текста с помощью JavaScript ...
Там, к сожалению, проблема не с редактором, а с самой страницей, куда его встроили. Вот - rutraveller.ru, после входа в аккаунт нужно нажать на кнопку "Заметки" (Справа). Возможно вы поймете в чем проблема при использовании именно Selenium IDE. Я первый раз с таким столкнулся, пример рабочего кода на Webdriver ниже, и пример кода для IDE тоже ниже. Затык именно на шаге ввода текста в этот фрейм.
просто ссылка на похожую тему по CKEditor http://automated-testing.info/forum/selenium-i-wysiwyg-editor-ili-kak-vstavit-tekst-v-vizivik
Здравствуйте!
У меня такое же задание - ввести текст во фрейм, делала так:
selectFrame index=0 зашла в фрейм
type //body TEXT ввела TEXT
selectFrame index=top вышла из фрейма
Только у меня еще одна проблема, мне нужно не просто ввести текст, а установить ему параметры форматирования: на пример, 24 шрифт, жирный
Чтобы установить параметры форматирования нужно выйти из фрейма, а когда заходишь в него снова - настройки исчезают и печатается первоначальный текстю
Кто знает подскажите можно ли в IDE это сделать (фактически надо тестировать текстовый редктор).
Вот что получилось :
driver.findElement(By.linkText("Вход")).click();
Но ничего.
Как же выйти с этого фрейма?
Вопрос снимается :)
Поделитесь решением для будущих поколений :)
в чем проблема была?
Имхо, в Thread.sleep(6000); :)
да уж :)