Performance Testing through JMeter for BOBJ application - jmeter

I had a script running successfully, when I add the users >3 to my testplan I see an error for the URL launch requests
<html><head><SCRIPT>location.replace ( 'VintelaErrorServlet?vint_cms=%40BI42UAT&vint_backURL=%2FInfoView%2Flogon.faces');</SCRIPT></head><body></body></html>
Still the script able to kickoff other requests (able to execute the BOBJ reports successfully)
How do I decode the above error?

Related

Jmeter Duration time does not get reflected in Azure Load Testing

I am trying to execute my JMeter script via Azure Load Testing, I have setup a duration time in the JMeter script but when I execute via Azure Load Testing ,it does not get reflected, I cant figure from where the time is getting set. I am not sure how to configure that or where it gets overridden. Any support is appreciated.
If you provided duration_in_sec in your Azure Load Test Configuration - it will override whatever you have in the .jmx test script
If you didn't - the duration will be taken from the Thread Group(s)
If you haven't specified duration in the Thread Group - the test will end as soon as the last thread (virtual user) executes last iteration of the last Sampler in the last Thread Group.
Otherwise you test will run forever.
More information: JMeter Tutorial: Getting Started With the Basics

Performance Test - Distributed mode with jtl and smtp listener

My test consists of tear down thread that sends the JTL report in the email through SMTP listener. This works fine when I run the tests in non distributed model as the JTL file is in one machine.
The issue I am facing is when I run these tests in distributed mode ( for some heavy loads). SMTP listener fails as the file is not found in the slave where the tests are running since JTL file is in the master. is there anyway I can make this work within the JMeter tests or do I need to create a separate script once the test is done to send the final report through email.
The easiest option would be indeed creating a separate test script for sending the results.
Alternative option would be
kicking off another JMeter Slave instance at the same host with the master
Limiting the SMTP Sampler to be executed only on that host via If Controller and __machineName() or __machineIP() functions combination like this:
This way you will be able to run SMTP Sampler only on the machine where the .jtl file lives.

How to start and stop protractor driver for each test

I want to run my protractor tests in lambdatest cloud. to update the test name for each test I had to restart the browser for each test (it block). I tried two options
browser.restart() - this creates the same session again so the test name is not updated properly.
I used restartBrowserBetweenTests: true this restart browser as expected but an extra blank test is generated as the browser is initialized/invoked in the config.ts and from script file am passing URL using browser.get().
When I run multiple sessions in parallel the count to extra test multiplies.
Is there a way how I can manage browser initialization and quit from beforeEach and AfterEach blocks not from config file.

Jmeter- Reading Application log

I am running a jmeter test, POST submitting a request i need to check the application log(openshift) to find an application specific message/id is generated ,it need to be captured as its a test data for my subsequent request. Any solution is much appreciated.
Depending on your setup you can go for:
Normal HTTP Request call to /api/v1/namespaces/$NAMESPACE/pods/$NAME/log
Run oc log command using OS Process Sampler or SSH Command sampler

execute jmeter test plan inside cucumber step in ruby

This must be easy but I am struggling so I post it here. I am new to Jmeter, and I have to use it to send messages. I am testing a messaging portal which uses a core messaging application where the portal gets the data from this application. Now there are clients who connect to this messaging application and when they send messages, the application processes it and the portal application displays it. I am using JMeter right now as a test harness simulating the client interface to send these test messages. My colleage who knows JMeter has created the .jmx file which has all the settings, the url, thread count,format of the message. All I have to do is open the .jmx file in GUI or on command line and send it. It works. I wanted this process of JMeter sending the messages automated in my cucumber step. So that when I write a step like:
'Given when clients sends a message'
then the step definition would be a command or script to execute the JMeter test plan.
I tried doing this by giving the line in my step definition:
system('start jmeter.bat -n -t sample.jmx ')
I am using ruby and the system command is the ruby way to execute external commands, in this case it is a windows command. -n is to run the JMeter in non-GUI mode and -t is to mention the .jmx file. The problem I have here is, anytime I run the JMeter in non-GUI mode, it opens a terminal, executes and the control stays there. So when I use this script in my cucumber steps, the control stays there in terminal and my cucumber scenarios fails.
How can I do this in a different way so that the JMeter test plan gets executed in the background or I get the control back to my cucumber step?
Note: I may have a solution using the ruby-jmeter gem : https://github.com/flood-io/ruby-jmeter but I am not finding a way how to simply execute this using the gem. Here in the gem he tells of running the test plan locally or on flood-io but not at a different url. In my case the url is an IP address where the messaging application is listening and I use JMS publisher in JMeter to send messages via GUI. I created the .jmx file using the GUI and the same can be used in command line successfully. Please let me know of any solutions.

Resources