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

Практикум по тест-дизайну 2.0
онлайн, начало 20 cентября
Тестирование юзабилити (usability)
онлайн, начало 18 сентября
Школа для начинающих тестировщиков
онлайн, начало 19 сентября
Тестирование REST API
онлайн, начало 23 сентября
Фотография

Чтение 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 анонимных

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