2016-06-15 4 views
0

Проблема:Загрузка данных в приложения с графическим интерфейсом с помощью Ruby,

Привет всем, я в настоящее время строит пакет автоматизации с использованием рубинового Selenium WebDriver-Огурцы для загрузки данных в приложение, используя его GUI. Я принимаю данные от мейнфрейма .txt файлов. Сценарии похожи на создание клиента, а затем загрузка нескольких учетных записей для них в соответствии с данными, представленными на входах.

Текущий подход

Выполнить сценарий, используя задачу грабли, передавая номер строки в качестве параметра и сценарий выполняется только один набор данных.

Чтобы прочитать данные для конкретной линии, я использую ниже код:

File.readlines("#{file_path}")[line_number.to_i - 1] 

Моя цель использования линии по линии нагрузки, чтобы сохранить выполнение работы, даже если линия не загружается.

Упущения

Предполагаемая Я загрузить 10 учетных записей для одного клиента. Поэтому мой текущий скрипт будет работать 10 раз, чтобы загрузить каждую учетную запись. Я хочу что-то, что может загружать аккаунты за один раз.

Я ищу

Для преодоления выше недостатка, я хочу, чтобы захватить все данные для одного клиента из файла, как счета и т.д., и загружать их в приложение в одном исполнении.

Кроме того, я должен отслеживать время выполнения и распределение памяти.

Просьба представить свои соображения по этому подходу, и любые предложения или улучшения приветствуются. (Извините за длинный пост)

+0

'' # {file_path} "' точно такой же, как 'file_path', при условии, что это String. Таким образом, можно использовать более простую форму. –

+1

Я не понимаю ваш рабочий процесс, но если вы загружаете несколько строк из этого файла, почему бы не прочитать его в массиве один раз, а затем использовать этот массив в памяти?Кроме того, если вы хотите получить только 1 строку для каждого файла, вы можете легко написать метод, который читается по строкам и останавливается, когда вы найдете нужную строку - это позволит сэкономить в среднем половину прочитанного файла. –

+0

@KeithBennett -> У меня уже есть рабочий сценарий с построчным построением строк. Я пытаюсь создать что-то, что может сразу захватить данные для клиента и загрузить его в приложение. Я могу сделать это легко, но мне нужно будет сделать это в кратчайшие сроки, так как размер файла может быть огромным. – yudi2312

ответ

0

Первое, что я бы сделать, это разбить это на этапы, - как вы сказали в своем комментарии, но более формально здесь:

  1. Получить данные обратиться к все записи. Подключите страницу с нужной информацией (или спецификацией командной строки поддержки, если не слишком много?).
  2. Для каждой строки в файле выполните следующие действия (автоматически): Получить веб-страницу для ввода своих данных; Заполните поля; Отправить форму

Учитывая это, я бы сказал, что «для каждой строки» инструкция должна обязательно быть чтение построчно из файла, используя File.foreach или аналогичный.

Есть ли что-нибудь помимо этого, которое необходимо учитывать?

+0

no keith .. и это выглядит намного чище .. спасибо – yudi2312

+0

Хорошо. Разбив его на шаги, когда вы начинаете внедрять эти шаги в качестве кода, подумайте о том, как кодировать дискретные методы, каждый из которых имеет одну цель. Это упростит проблему. –

+0

Сделал это уже .. просто хотел узнать, как другие люди будут заниматься подобными проблемами, и если мой подход достаточно точен. – yudi2312

Смежные вопросы