1 Call the api
2. Extract output only href tags with submit linkname
Or
Can capture the id value , requestid value and ln value and save into csv
note: out have 50-60 submit links
id=24808&requestId=1614881979066&ln=1000043845
lets say url is /appstest/RunUpdate?id=26216&requestId=1614895894455&ln=1000043845
want to print id, requestId, ln
values only in console
How to extract all the href links with submit linknames from below html response
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>appstest Import System: Loans Processed</title>
<link rel="stylesheet" type="text/css" href="/appstest/css-table.css">
<script type="text/javascript" src="/appstest/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="/appstest/appstest.js"></script>
</head>
<body>
<table width="100%"><caption>Loans in process queue (Sorted by last modified)</caption>
<thead><tr>
<th scope="col">File Name</th>
<th scope="col">ID Number</th>
<th scope="col">Date Created</th>
<th scope="col">Last Modified</th>
<th scope="col">Request</th>
</tr></thead><tbody>
<tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043845 target=loanDetail>1000043845</a></td><td>2021-03-04 15:37:49.437</td><td>2021-03-04 15:37:49.437</td><td><a href=/appstest/RunUpdate?id=26088&requestId=1614893866191&ln=1000043845 target=_new>Submit</td></tr><tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043833 target=loanDetail>1000043833</a></td><td>2021-03-04 15:37:49.437</td><td>2021-03-04 15:37:49.437</td><td><a href=/appstest/RunUpdate?id=26089&requestId=1614893866191&ln=1000043833 target=_new>Submit</td></tr><tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043832 target=loanDetail>1000043832</a></td><td>2021-03-04 15:37:49.437</td><td>2021-03-04 15:37:49.437</td><td><a href=/appstest/RunUpdate?id=26090&requestId=1614893866191&ln=1000043832 target=_new>Submit</td></tr><tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043831 target=loanDetail>1000043831</a></td><td>2021-03-04 15:37:49.437</td><td>2021-03-04 15:37:49.437</td><td><a href=/appstest/RunUpdate?id=26091&requestId=1614893866191&ln=1000043831 target=_new>Submit</td></tr><tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043845 target=loanDetail>1000043845</a></td><td>2021-03-04 15:37:49.437</td><td>2021-03-04 15:37:49.437</td><td><a href=/appstest/RunUpdate?id=26092&requestId=1614893866191&ln=1000043845 target=_new>Submit</td></tr><tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043833 target=loanDetail>1000043833</a></td><td>2021-03-04 15:37:49.437</td><td>2021-03-04 15:37:49.437</td><td><a href=/appstest/RunUpdate?id=26093&requestId=1614893866191&ln=1000043833 target=_new>Submit</td></tr><tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043832 target=loanDetail>1000043832</a></td><td>2021-03-04 15:37:49.437</td><td>2021-03-04 15:37:49.437</td><td><a href=/appstest/RunUpdate?id=26094&requestId=1614893866191&ln=1000043832 target=_new>Submit</td></tr><tr><td>FILECheckTestLoans.xlsx</td><td><a href=/LoanServicing/GetLoanData?loannumber=1000043831
/html/body/table/tbody/tr[1]/td[5]/a
...
/html/body/table/tbody/tr[50]/td[5]/a
Tried this no help apart from outer html
const $ = cheerio.load(pm.response.text())
const html = $.parseHTML(responseBody);
var jqResponseHTML = $(html);
console.log(jqResponseHTML)
console.log($('tr:nth-child(1) > td:nth-child(5) > a'))
I’m unable to print console logs into csv using library
const newman = require('newman'),
fs = require('fs')
newman.run({
collection: 'https://www.getpostman.com/collections/ccd10ada71bc5d379ad6', //updated one both are same though
//environment: 'TestEnv_TPO.postman_environment.json',
//collection: 'QueueTest_Batch.postman_collection.json',
//iterationCount: 1 //chage to 1 for All range.
}).on('console', function (error, args) {
fs.appendFileSync('QUESUESERA.csv', args.messages, function (error) {
})
})
const newman = require('newman'),
fs = require('fs')
newman.run({
collection: 'collection.json',
}).on('console', function (err, args) {
fs.appendFileSync('messages.csv', args.messages);
})
Something basic like that should work - You would need to add a newline character in your console.log
statement though.
console.log(`${rID},${pID},${lnno}\n`);
yeah did !! already console.log(
${rID}\n,
${pID}\n,
${lnno});
const newman = require('newman'),
fs = require('fs')
newman.run({
//collection: 'https://www.getpostman.com/collections/ccd10ada71bc5d379ad6', //updated one both are same though
//environment: 'TestEnv_TPO.postman_environment.json',
collection: 'QueueTest_Batch.postman_collection.json',
//iterationCount: 1 //chage to 1 for All range.
}).on('console', function (error, args) {
fs.appendFileSync('QUESUESERA.csv', args.messages, function (error) {
})
})
I don’t understand what you’re doing - Are you trying to use Newman to create the csv file or just printing things to the console?
Do you need a newline after each item? That wouldn’t really create the csv in the way that would make each line an iteration.
What is that line doing?
fs.appendFileSync('QUESUESERA.csv', args.messages, function (error) {
})
The syntax for that is not correct, it should be just fs.appendFileSync('QUESUESERA.csv', args.messages);
.
Correction from postman printing on console
and expected csv to be like
29407 1614961869293 1000043833
Changed the line
const newman = require('newman'),
fs = require('fs')
newman.run({
collection: 'QueueTest_Batch.postman_collection.json',
}).on('console', function (error, args) {
fs.appendFileSync('QUESUESERA.csv', args.messages);
})
What is not working when you run that command in Newman?
What does the file look like?
Are you updating the collection each time you make a change?
Here’s what it creates for me:
I am running on command node QUEUEListing.js
csv File is not created
Are you updating the collection each time you make a change?
Yes every time
but csv file is not getting saved or created, not sure what’s missing ? its not even getting created
Is it printing the logs when you add the CLI reporter?
I don’t really know what to tell you, the Newman command runs and creates the file for me.
did not get this ? sorry
Use the CLI reporter to print the whole run to the terminal.
reporters: 'cli'
is that the reason! ?
Probably, if that’s the request that has the console logs
Could try including this in the .run
object:
insecure: true
Yeah cause of some production issues we need to get data from this request from api and yes that’s the api for test env, and then only we will move this for PRod env check
Sorry not understanding this, Could try including this in the .run
object:
with this command
newman run https://www.getpostman.com/collections/ccd10ada71bc5d379ad6 -r csv
const newman = require('newman'),
fs = require('fs')
newman.run({
collection: 'QueueTest_Batch.postman_collection.json',
insecure: true
}).on('console', function (error, args) {
fs.appendFileSync('QUESUESERA.csv', args.messages);
})
A basic understanding of what this is and how you can use different options within it could really help you out here.
This worked !!!
but csv are like ? seems like need to change back into single line
I mentioned that a long time ago…
Do you need a newline after each item? That wouldn’t really create the csv in the way that would make each line an iteration
LOL, if thats on my query then owe you an icecream
Now removing the new lines and checking it again
still doesnt looks good the csv console.log(
${rID},
${pID},
${lnno});
and csv is