Sim, dá para testar MQTT com o Postman: crie uma nova requisição, escolha MQTT, informe a URL do broker, conecte, adicione topics para se inscrever e publique mensagens pelo compositor. É um jeito prático de cutucar um broker se o Postman já é sua ferramenta de APIs — mas é um cliente manual, não um executor de testes MQTT automatizados. Este guia mostra o fluxo de trabalho, as configurações que mais confundem e onde o Postman deixa de ser a ferramenta certa.
Criar uma requisição MQTT
- No Postman, clique em New (ou no + ao lado das abas) e escolha MQTT.
- No campo de URL, informe o endereço do broker com esquema e porta, por exemplo
mqtt://broker.connectmq.com:1883. - Abra as configurações da requisição e defina um client ID se quiser um previsível; caso contrário, o Postman gera um.
- Se o broker exige autenticação, adicione usuário e senha (use variáveis como
{{mqtt_user}}e{{mqtt_pass}}de um environment em vez de digitar segredos na requisição). - Clique em Connect. O painel de mensagens mostra o evento de conexão, ou um erro se o broker recusou.
A versão do protocolo (3.1, 3.1.1 ou 5) é escolhida nas configurações da requisição. Com MQTT 5 você também ganha campos para propriedades de conexão e user properties nas mensagens publicadas.
| Configuração | TCP puro | TLS |
|---|---|---|
| Esquema da URL | mqtt:// | mqtts:// |
| Porta no ConnectMQ | 1883 | 8883 |
| Certificados | — | Uma CA pública funciona direto; para CAs privadas, adicione um arquivo de CA nas configurações de certificados do Postman |
Não sabe qual porta seu broker usa? Portas MQTT explicadas cobre 1883, 8883, 8083/8084 e as alternativas atrás de proxies.
Inscrever-se em topics
Vá para a área Topics da requisição, adicione um filtro de topic e escolha um QoS. Wildcards funcionam normalmente — testmqtt/postman/# recebe tudo sob esse prefixo, testmqtt/postman/+/status um nível de dispositivos. As mensagens recebidas aparecem na lista com topic, horário e payload; payloads JSON podem ser expandidos.
Use um prefixo único durante os testes. Em um endpoint compartilhado, se inscrever em # ou em um nome genérico como test/# mostra o tráfego de outras pessoas e dificulta enxergar o seu. Se um filtro não casa com o esperado, cole-o no topic matcher junto com o topic em que você publica.
Publicar mensagens
O compositor na parte de baixo da requisição publica em um topic por vez:
- Topic: por exemplo
testmqtt/postman/device-1/telemetry - Payload: texto ou JSON como
{"temp": 21.5, "unit": "C"} - QoS: 0, 1 ou 2
- Retain: ligado se novos inscritos devem receber o último valor imediatamente
Mensagens salvas ajudam em verificações repetidas — mantenha uma mensagem "ligar", uma "desligar" e uma com "payload malformado" na mesma requisição e dispare uma de cada vez. Como a própria requisição está inscrita, você vê suas mensagens chegarem, o que confirma a ida e volta pelo broker.
Um híbrido útil: entra HTTP, sai MQTT
O Postman se destaca quando seu sistema mistura HTTP e MQTT. Abra duas abas:
- Uma requisição MQTT inscrita no topic em que seu backend publica, por exemplo
testmqtt/postman/orders/#. - Uma requisição HTTP que chama sua API —
POST /orders, um webhook, um endpoint de comandos para dispositivos.
Envie a requisição HTTP e observe a aba MQTT: você vê se o backend publicou, em qual topic, com qual payload e flag de retain. É a verificação manual mais rápida para "a API retorna 200, mas o dispositivo nunca reage".
Solução de problemas de conexão MQTT no Postman
| Sintoma | Causa provável | Correção |
|---|---|---|
| A conexão fica girando e dá timeout | Porta bloqueada por firewall ou proxy, ou porta TLS com mqtt:// | Use mqtts:// com 8883; teste o acesso com verificações de porta |
| Connection refused: not authorized | Usuário/senha errados, ou o broker exige credenciais | Confirme que as variáveis do environment estão realmente aplicadas à requisição |
| Conecta e desconecta na hora | Outro cliente usa o mesmo client ID | Deixe o Postman gerar o ID ou acrescente um sufixo aleatório |
| Erro de TLS / certificado | O broker usa uma CA privada ou certificado autoassinado | Adicione a CA nas configurações de certificados do Postman, em vez de só desativar a verificação |
| Inscrito, mas sem mensagens | Erro de digitação no topic, diferença de maiúsculas ou ACL negando a inscrição | Compare filtro e topic no topic matcher |
Os reason codes do broker (por exemplo 0x87 Not authorized no MQTT 5) podem ser consultados na ferramenta de reason codes MQTT.
Limitações que você precisa conhecer
O suporte a MQTT do Postman foi feito para explorar, não para automatizar testes. No momento da escrita:
- Sem scripts de teste. Requisições HTTP rodam asserções
pm.test; requisições MQTT não conseguem verificar as mensagens recebidas. - Sem Collection Runner nem Newman. Você pode salvar requisições MQTT em coleções, mas não rodá-las na CI com o Newman.
- Uma conexão por aba. Simular dez dispositivos significa dez abas — ou outra ferramenta.
- Voltado ao desktop. Protocolos não HTTP na versão web do Postman podem exigir o Postman Desktop Agent.
O Postman evolui rápido, então confira a documentação da sua versão. Se você precisa de algo da lista acima hoje, escolha uma ferramenta que faça isso nativamente.
Alternativas para testar MQTT
| Ferramenta | Melhor para |
|---|---|
| Cliente MQTT online | Sem instalação, conecta por WebSockets seguros a partir de qualquer navegador |
| MQTTX | Cliente desktop com várias conexões, scripts e propriedades do MQTT 5 |
| MQTT Explorer | Navegar por toda a árvore de topics e pelas mensagens retidas |
| mosquitto_pub / mosquitto_sub | Scripts de shell e verificações na CI |
| Um script de teste (Python, Node, Go…) | Asserções automatizadas na sua suíte de testes |
Para uma verificação compatível com CI que o Postman não faz, dois comandos do mosquitto bastam:
TOPIC="testmqtt/postman/ci-$RANDOM"
mosquitto_sub -h broker.connectmq.com -p 1883 -t "$TOPIC" -C 1 -W 10 > out.txt &
sleep 1
mosquitto_pub -h broker.connectmq.com -p 1883 -t "$TOPIC" -m '{"ok":true}' -q 1
wait
grep -q '"ok":true' out.txt && echo "PASS" || { echo "FAIL"; exit 1; }-C 1 encerra após uma mensagem e -W 10 falha depois de dez segundos, então o script nunca trava. Mais padrões em exemplos de mosquitto_pub e mosquitto_sub, e as melhores ferramentas cliente MQTT compara a fundo as opções com interface gráfica.
Compare com o cliente MQTT no navegador
A requisição MQTT do Postman é uma boa ferramenta manual quando seu time já vive no Postman, especialmente para conferir se ações HTTP geram as mensagens MQTT certas. Para tudo que precisa ser repetível — testes de regressão, carga, muitos dispositivos simulados — leve as mesmas verificações para scripts ou para um cliente MQTT dedicado, e deixe o Postman para explorar.
Perguntas frequentes
O Postman suporta MQTT?
Sim. Versões recentes do Postman têm um tipo de requisição MQTT ao lado de HTTP, WebSocket e gRPC. Ele conecta a um broker, se inscreve em topics, publica mensagens com QoS e retain e suporta MQTT 3.1, 3.1.1 e 5.
Dá para automatizar testes MQTT com Postman ou Newman?
Não do jeito que você automatiza requisições HTTP. No momento da escrita, requisições MQTT não executam scripts de teste e não rodam no Collection Runner nem no Newman. Para testes MQTT automatizados, use um script com uma biblioteca MQTT ou mosquitto_pub e mosquitto_sub na CI.
Por que o Postman não conecta ao meu broker MQTT?
Confira primeiro o esquema e a porta: mqtt:// com a porta 1883 para TCP puro, mqtts:// com a 8883 para TLS. Uma porta TLS com mqtt://, um firewall bloqueando a porta, credenciais erradas ou um client ID duplicado são as causas mais comuns. Teste as mesmas configurações no cliente MQTT online para isolar o Postman.


