CentOS 中 Postman API 测试指南
一 安装与启动
wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
sudo mkdir -p /usr/local/postman
sudo tar -zxf postman.tar.gz --strip-components=1 -C /usr/local/postman/
sudo ln -s /usr/local/postman/Postman/Postman /usr/bin/postman
sudo tee /usr/share/applications/postman.desktop >/dev/null <<'EOF'
[Desktop Entry]
Encoding=UTF-8
Name=Postman
GenericName=API Tools
Comment=Postman
Exec=/usr/bin/postman
Terminal=false
Type=Application
Icon=/usr/local/postman/app/resources/app/assets/icon.png
StartupNotify=true
Categories=Development;
EOF
sudo chmod +x /usr/share/applications/postman.desktop
postman
sudo yum install -y snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install postman --classic
postman
sudo yum install -y libXScrnSaver
二 基础使用
{
"name": "John Doe",
"email": "john.doe@example.com"
}
三 环境变量与脚本
pm.environment.set("timestamp", new Date().toISOString())
pm.test("Status code is 200", () => pm.response.to.have.status(200))
pm.test("Body has name", () => {
const json = pm.response.json()
pm.expect(json.name).to.eql("John Doe")
})
四 自动化测试与 CI 集成
sudo yum install -y nodejs npm
sudo npm install -g newman
newman run collection.json -e environment.json
sudo npm install -g newman-reporter-html
newman run collection.json -e environment.json -r html,cli --reporter-html-export report.html
newman run collection.json -e environment.json --reporter-cli-no-assertions
if [ $? -ne 0 ]; then exit 1; fi
五 排错与优化
which postman
ls -l /usr/bin/postman
sudo update-desktop-database
sudo tee /etc/systemd/system/postman-runner.service >/dev/null <<'EOF'
[Unit]
Description=Newman Postman Collection Runner
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/newman run /opt/postman-tests/collection.json -e /opt/postman-tests/env.json -r cli
Restart=on-failure
User=your_username
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now postman-runner.service
sudo systemctl status postman-runner.service