Displaying device payload in node red - node.js

I ma new to Node-red and still finding my way around it. I am using SmartMesh network motes that communicate with a manager connected to my laptop.
How can I just display in the debug window the whole payload that is coming through in JSON format? Do I just use a debug node with msg.payload or I need to use a function node?
An help is very much appreciated!

Assuming the data you want is contained in the msg.payload field then a normal debug node should be fine.
If the data is else where in the msg object then you can change the debug node to show the whole message.
But be aware there is a limit to how much data will be shown in the debug sidebar in order to stop the debug node having too greater impact on performance. If the payload it too large it will be truncated. You can still see the whole output by changing the debug node to print to the console as well as the debug sidebar.
You can also change the limit (debugMaxLength) in the settings.js if you want to, but it is better to leave that value at it's default.

Related

Why request in View results in a tree listener shows "No data to display" in non-gui mode

Expected Requests and Response are showing after executing jmeter script in GUI mode but when the same is execcuted in non-gui mode, for few requests it shows "No data to display" and Response is empty.
This was encountered in jmeter v4. Can anybody help as in why such variance in requests when script is executed in non-gui mode?
enter image description here
enter image description here
This is done intentionally, JMeter removes request and especially response data from sample results (mainly because it cannot be stored in CSV format) in order to reduce memory consumption and disk IO required to aggregate and store the data.
If you really need to see request and response data you can "tell" JMeter to store it by adding the next lines to user.properties file (lives in "bin" folder of your JMeter installation)
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true
JMeter restart will be required to pick the properties up. Once done - re-run the test and make sure to use the different output .jtl file (or delete the existing one) - this time it will have much more results suitable for displaying in the View Results Tree listener
References:
Configuring JMeter
Apache JMeter Properties Customization Guide
Results File Configuration

How do I correctly pass chrome capabilities into the default webdriver on Katalon studio

I'm currently trying to get a test running on Katalon Studio, and the specific outcome is determined by certain messages showing up in the browser console. I've managed to extract the console logs and can parse them easily enough, but I'm currently only being given the Severe and Warning messages, while the information I need is in the Info messages.
I've managed to figure out what settings I need to apply, but not in a format that I can easily apply via Katalon. The settings I need are, I believe, as follows:
DesiredCapabilities caps = DesiredCapabilities.chrome()
LoggingPreferences logPrefs = new LoggingPreferences()
logPrefs.enable(LogType.BROWSER, Level.INFO)
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs)
Specifically, I need to set the log level to INFO. However, I can't figure out how to correctly apply this through Katalon's Execution settings, which take on a rather different format to most of the code-based variants I've seen elsewhere. I've currently got{"CHROME_DRIVER":{"LoggingPrefs":{"LogType":"BROWSER","Level":"INFO"}}} set in the com.kms.katalon.core.webui.chrome preferences file, and have tried different variants of this, but to no avail.
Just in case this is an extraction problem rather than a setup issue, I'm currently obtaining the logs as follows:
I obtain the webdriver using DriverFactory.getWebDriver(), and extract the logs using LogEntries logs = driver.manage().logs().get("browser")
How do I get the Info-level logs out of this?
Thanks for your time and help,
You can use KeywordLogger.
Following class is needed: import com.kms.katalon.core.logging.KeywordLogger
KeywordLogger log = new KeywordLogger()
log.logInfo("yourLogMsg")
You can use logFailed, logWarning, etc. too.

Jmeter passes steps and not print to consul

I am facing an issue that I could not understand how to resolve.
I created a test plan that need to connect DB and count the results.
The problem is that Jmeter not perform any validation afterwards, I created a JSSR223 in the JDBC request and just want to print the results and Jmeter not print.
I created another sampler to print the DB results and still Jmeter not printing.
Jmeter just passes this steps,
In the results tree I saw that it connects to DB and failed in the assertion, but why it passes the other steps? and just moving to debug sampler?
I can not print the results, I can not perform any debug since it is just black box.
can someone please advise?
you can see in yellow all the steps that Jmeter not performed and just not exists in the results tree.
enter image description here
Get used to check jmeter.log file, it normally contains information regarding what went wrong, you should be able to figure out the root cause by looking into the log file. If you are not - update your question with jmeter.log file contents (at least essential parts)
My expectation is that your ${Conv_sense} variable is not defined (or cannot be cast to Integer). Double check whether it is defined or not using Debug Sampler and View Results Tree listener combination.
Also don't refer JMeter Variables like ${Conv_sense} in Groovy scripts body, use vars.get('Conv_sense}') instead, otherwise it might conflict with Groovy GStringTemplate resulting in undefined behavior.

GPSD simple query's

I need some information from my GPSD server running on my NTP master server.
Amount of satellites it is seeing
Which satellites it is using for the positon fix (maybe also SNR)
Which satellites it is seeing since there are a lott of them (is this possible?)
I am going to output this to PHP, so it must be simple
The GPSD source contains the file gpsd.php which can deliver the current position and satellite info ("skyview") either as a finished HTML page or as a JSON string. So you need to make sure a web server with PHP support runs on your master server and you can call http://ntp-server/path/to/gpsd.php to get it. Append ?op=json to the URL to return the JSON result.
You can get just the php file here: https://github.com/yazug/gpsd/raw/master/gpsd.php
Beat Bolli: I think you meant this one: https://github.com/yazug/gpsd/raw/master/gpsd.php.in (they have renamed it)
It suggests to use ?poll; function, but it hangs to me when I try to read the response...

How to disable "header already sent" message on linux, cpanel?

I building my sites on the localhost (runs wamp on windows), and when I upload it to my server, I always get
"Cannot modify header information - headers already sent"
I understand that there shouldn't be any blank lines and everyhing, and usually this works out. but now I need to redirect someone after the header has been sent, how can I make my server act like my localhost ?
i'm using cpanel and WHM:
cPanel 11.25.0-R42399 - WHM 11.25.0 - X 3.9
CENTOS 5.4 x86_64 virtuozzo on vps
I will appreciate any help
In short, you need to prevent PHP from outputting anything to the browser before you get to the point where you want to use the header() function.
This should be done by careful programming practices, of which your 'no blank lines' is one, or by storing PHP's output in an output buffer, and only outputting when you're ready for it.
See the ob_start() and ob_flush() methods. You use ob_start() at the start of your application. This disables output and stores it into a buffer. When you're ready to start outputting, use ob_flush() and PHP will send the buffer's contents to the browser, including the headers that are set till that point. If you don't call ob_flush() then the buffer is output (flushed) at the end of the script.
The reason why it works on your WAMP development environment is most likely that output buffering is already enable by default in the php.ini. Quite often these all-in-one packages enable a default buffer for the first 4k bytes or so. However, it is generally better to explicitly start and flush the buffer in your code, since that forces better coding practices.
Well,
I guess by more thinking and better programing you can manage to keep all redirects before any HTML is written.
This problem solved by the old rules...
#user31279: The quickest and dirtiest way I know of is to use # to suppress the warning, so e.g.
#header('Location: some-other-page.php');

Resources