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

Фотография

Занесение данных при помощи QTP


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

#1 Mir.ds

Mir.ds

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

  • Members
  • Pip
  • 64 сообщений

Отправлено 14 июля 2008 - 13:46

Господа, вопрос в следующем:

Существет определенная форма, в которую необходимо ввести данные.

Существует некоторый файл, в котором эти данные лежат.

Вопрос: можно ли каким либо образом сделать так, чтобы QTP эти данные перемещал в формы в нужной последовательности (ну последовательность не играет роль собсвенно, важно чтобы они были перенесены)


Скажем в LD есть подобная возможность (смотри рисунок)

Прикрепленные файлы

  • Прикрепленный файл  data.JPG   75,88К   69 Количество загрузок:

  • 0
Не пойман, не баг

#2 Mir.ds

Mir.ds

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

  • Members
  • Pip
  • 64 сообщений

Отправлено 15 июля 2008 - 07:28

Как я понял, данную проблему решает Data Table. Кто может просветить в синтаксе?
  • 0
Не пойман, не баг

#3 Luceus

Luceus

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

  • Members
  • PipPip
  • 80 сообщений
  • Город:Украина

Отправлено 18 августа 2008 - 06:41

Как я понял, данную проблему решает Data Table. Кто может просветить в синтаксе?

Из интерфейса приложения, я могу предположить, что он берет данные из файла. Почему бы не составить файл подобным образом и просто не открыть его в этом приложении? Значения между переменными разделяются табуляцией.

Или второе, попробуйте записать скрипт работы с данным приложением, а потом введите параметризацию, запихните этот экшин в цикл, и введите данные из DataTable.

Успехов.
  • 0
Мой блог - Этот сайт закрыт.

#4 Jed Meyers

Jed Meyers

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

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Jed Ezriela Meyers

Отправлено 03 сентября 2008 - 15:19

Как вариант можно засунуть данные в разные колонки в дата таблицу и по очереди вызывать. Вот пример цикличного занесения данных (похож на реальную реализацию):

Таблица такая:
USER	 PASS	  FIRST_NAME	LAST_NAME	STATUS
------------------------------------------------------------------
user1  <encoded>   Jed		   Meyers	   Active
user2  <encoded>   Baba		  O'Riley	  Terminated
Код:
strSheetID = Environment("ActionName") 'получаем имя листа в дата таблице

For intRow = 1 To DataTable.GetSheet(strSheetID).GetRowCount  'будет подряд считывать строчки из таблицы
	DataTable.SetCurrentRow(intRow)

	Set BrowserDesc = Description.Create() 'cоздаем Description обьекты для браузера и фрейма (если он есть)
	Set FrameDesc = Description.Create() 
	BrowserDesc("title").Value = "Browser Title"
	FrameDesc("name").Value = "Frame Name"

	With Browser(BrowserDesc).Frame(FrameDesc)  'Page элемент можно пропускать в преобладающем большинстве приложений
	
		.WebEdit("name:=USER").Set DataTable.Value("USER", strSheetID)  'для элементов на странице я решил не использовать Description обьект
		.WebEdit("name:=PASS").SetSecure DataTable.Value("PASS", strSheetID) 
		.WebEdit("name:=FIRST").Set DataTable.Value("FIRST_NAME", strSheetID)
		.WebEdit("name:=LAST").Set DataTable.Value("LAST_NAME", strSheetID)
		.WebList("html id:=STATUS").Select DataTable.Value("STATUS", strSheetID)
		.WebButton("name:=Submit").Click

	End With
Next

  • 0

#5 Mir.ds

Mir.ds

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

  • Members
  • Pip
  • 64 сообщений

Отправлено 04 сентября 2008 - 06:13

Господа, забыл отписаться, задача решена, всем спасибо (в частоности тому кто помог :-))
addr="D:\WORK\Work\CMS\12.xls"


Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open (addr)
x1 = objExcel.Cells(St,1)
objExcel.Workbooks.Close
  • 0
Не пойман, не баг


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

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