Почтальон пишет на консоль, но хочет в CSV?

#javascript #postman #console.log

#javascript #почтальон #консоль.журнал

Вопрос:

Сначала я приношу извинения, если на этот вопрос есть ответ в другом месте, я долго искал, но мне не очень повезло. У меня есть настройка postman так, как мне нужно, с 3 запросами для повторения около 40 раз. Каждый раз, когда я печатаю что-то еще и в настоящее время просто захожу в консоль в это время. Теперь я хочу записать это в CSV или другой более читаемый формат. Есть ли какой-то конкретный способ сделать это через почтальона? Я довольно новичок в JS, поэтому не уверен, есть ли что-то в языке для использования или было бы что-то лучше сделать в postman? Заранее благодарю за совет.

Ответ №1:

 const express = require('express')
const bodyParser = require("body-parser");
const fs = require('fs')
const app = express()
const port = 3000

app.use(bodyParser.text());
app.post('/', (req, res) => {
  
fs.writeFileSync( "file.csv", req.body, "utf8" )
res.send("success")
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})
 

Создайте файл ndoejs с указанным выше содержимым, сохраните его как api.js .

откройте cmd с папкой, содержащей этот файл, в качестве текущего каталога и запустите api.js файл как :

 node api.js
 

вы получите приведенное ниже сообщение, если оно будет выполнено успешно

 Example app listening at http://localhost:3000
 

А теперь в yout тестируем скрипт в postman:

 for (i = 0; i < 10;   i) {
    newvalue = "something" // save the value you are printing to this variable eg :pm.request.json().name "
    //Adding the new values to a string as value1,value2,value3 etc
    data = i === 0 ? data = "" : data = i === 1 ? newvalue : data   ","   newvalue
}
 

//как только ваша 40-я итерация будет завершена, выполните вызов api для созданного нами экспресс-api :

 // Example with a full-fledged request
const postRequest = {
    url: 'http://localhost:3000/',
    method: 'POST',

    body: {
        mode: 'raw',
        raw: data
    }
};
pm.sendRequest(postRequest, (error, response) => {
    //console.log(error ? error : response.json());
});
 

Выходной сигнал:

введите описание изображения здесь

Комментарии:

1. Спасибо! @PDHide, в итоге я перешел на Python и переучил для этого то немногое, чему научился в postman.

Ответ №2:

Чтобы ответить на ваш вопрос, в первую очередь важно понять, что такое Почтальон на самом деле:

Postman — это клиент API, который позволяет создавать простые и сложные HTTP / s запросы и читать их ответы.

Итак, вы можете записать данные в файл CSV с помощью Postman?

Это полностью зависит от вас, вы можете отправить HTTP-запрос на сервер с данными, а затем сервер будет отвечать за запись этих данных, но на самом деле вы не можете выполнять такие операции или писать код в Postman.

Вы можете выполнять только HTTP-запросы, а затем делегировать их серверу, который будет отвечать за те операции, которые вы хотели бы выполнить.

Комментарии:

1. Я ценю это, я довольно новичок на этой сцене, ха-ха. Это полезно, поэтому, возможно, мой вопрос заключается не в том, как это сделать из postman, а в том, как добиться получения тех же данных другим способом, который позволяет мне делать такие вещи. У меня больше опыта работы с python, и я изучал их потенциал API, postman, казалось, было немного легче это сделать.

2. Postman в основном используется для тестирования API, а не для производственного использования. Сначала вы хотите иметь возможность сохранять данные в формате CSV. Вы можете сделать это либо на стороне клиента, либо на стороне сервера, обычно лучше делать это на сервере, поскольку вы действительно можете выполнять операции FS, но это можно сделать и на стороне клиента. Давайте предположим, что вы выполнили эту операцию на сервере, теперь вам нужно создать API, я рекомендую вам изучить, как создать простой API с помощью express, как только вы это сделаете, вы сможете выполнять запросы к API через fetch или использовать пакет, такой как Axios, и вы можете использовать Postman для протестируйте API