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

Тестирование веб-приложений 2.0
онлайн, начало 25 января
Тестирование REST API
онлайн, начало 28 января
SQL для тестировщиков
онлайн, начало 28 января
Техники локализации плавающих дефектов
онлайн, начало 28 января
Фотография

Чтение SMS с USB-модема

QTP AT USB MSCOMM ActiveX

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

#1 kmdm229

kmdm229

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

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Шелехов Алексей


Отправлено 07 Апрель 2014 - 17:54

Выкладываю функцию чтения смс с помощью QTP и AT-комманд напрямую из USB-модема. Может быть кому-то пригодится.

Function getSMS(timeout)
  getSMS = false
    Set oComm = CreateObject("MSCOMMLib.MSComm")
    oComm.CommPort = 7
    oComm.Settings = "9600,n,8,1"
    oComm.PortOpen = True
    oComm.InputMode = comInputModeText
    oComm.InputLen = 0
    oComm.Output ="AT+CMGF = 1" & vbCrLf
    oComm.Output = "AT+CNMI=1,2,0,0,0" & vbCrLf
    wait 0,500
   For i = 0 to timeout
            out = oComm.Input
            If полученная смс содержит "CMT" Then
                getSMS = out
                Exit for
            End If
            wait 1
            i = i+1
    Next
oComm.PortOpen = False
set oComm = nothing
End Function

Этот код можно по желанию разбить на отдельные функции и сделать класс для работы с COM-портом. Также можно доделать проверку подключения модема.

Извиняюсь за возможные ошибки и форматирование, т.к. писал на коленке.


  • 1

#2 ch_ip

ch_ip

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 07 Апрель 2014 - 20:47

Круто, спасибо!
Ошибок явных не нашел, разве что мне не нравится, что функция возвращает или булевское значение, или строку. Я бы предпочел, чтобы тип данных всегда был один, например, получить пустую строку, если смс не пришло.
  • 0

#3 QA*

QA*

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

  • Members
  • PipPip
  • 103 сообщений
  • Город:Москва

Отправлено 08 Апрель 2015 - 05:15

MSCOMMLib.MSComm с сайта Microsoft можно скачать? А то мой qtp жалуется на её отсутствие.
  • 0


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн




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

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

Яндекс.Метрика
Реклама на портале