Аутоматизација туђе веб апликације из десктоп програма

Десктоп апликација која управља претраживачем уместо корисника

Задатак

Клијент је имао посао који се сваког месеца понављао: неколико стотина порука из табеле треба послати појединачно, са евиденцијом шта је послато. Сервис који шаље SMS преко интернета није био решење — поруке су морале да иду са њиховог броја, са њиховог телефона и преко њиховог претплатничког пакета.

То оставља само један пут: апликацију која ради оно што би човек радио руком, у претраживачу, али без човека.

Зашто је то теже него што изгледа

Програм који управља туђом веб апликацијом нема уговор са њом. Нема API који гарантује да ће сутра радити исто, нема поруку о грешци на коју се може рачунати, нема обећање да ће поље за унос текста и дугме за слање остати тамо где су данас. Све што такав програм има јесте екран, исти онај који види и корисник.

Из тога следе три проблема која чине посао:

  • Чекање. Веб апликација се не јавља када је спремна. Програм који крене прерано куцаће у поље које још не постоји, а програм који чека фиксних пет секунди по поруци потроши пола сата на списак који траје десет минута.
  • Прекид у пола посла. Ако се веза изгуби на сто педесетој поруци, не сме се ни прекинути цео посао ни почети из почетка. Зато евиденција о послатом не стоји у меморији програма него у самој табели, ред по ред, у тренутку слања — па поновно покретање настави тамо где је стало.
  • Упаривање уређаја. Веб верзија порука ради само док је телефон упарен са рачунаром, а то упаривање тражи човека. Зато је тај један корак свесно остављен кориснику, а све остало иде без њега.

Како је решено

Десктоп апликација за Виндовс која води претраживач кроз кораке које би корисник прошао руком, а табелу користи и као улаз и као евиденцију. Све што се у туђој веб апликацији може променити — називи поља, дугмади, времена чекања — измештено је из програма у подешавања, па промена на њиховој страни значи измену једне поставке, а не нову верзију програма.

Пре првог слања апликација проверава да ли је окружење спремно и, ако није, каже шта недостаје — јер грешка пријављена пре почетка вреди много више од грешке у сто педесетом реду.

Шта је клијент добио

Посао који је трајао радно поподне сада траје онолико колико траје само слање, а евиденција о томе шта је послато и када настаје сама, као део посла, уместо да се води после њега. Решење је у међувремену дотерано у готов производ, који се купује на страни слање SMS порука из Ексела.

Време реализације

Трећи квартал 2024.