Creating automated performance test - java

I am trying to automate the creating and running the performance test script. Firstly, I create the UML activity diagram and I can export this diagram to outside as a xml file. I write a java program that can read this xml file. Now I want to create test script with using the properties which is a separate file that include host, username, time, etc. knowledge about the configuration. I want to use these two files and create a test script for performance test. Which performance test tool is useful and appropriate for my plan? Also I read the jmeter documentation and it can not be run from the script. Jmeter is manually configured.

JMeter's .jmx scripts are basically XML files so you could come up with an XSLT transformation which will convert your UML diagram into an XML file which can be consumed by JMeter. Check out build-web-test-plan.jmx which implements Building a Web Test Plan user manual chapter
Given you're able to write Java programs you can create/execute a JMeter test plan programmatically using JMeter API. Check out Five Ways To Launch a JMeter Test without Using the JMeter GUI article for general instructions and jmeter-from-code sample project
There are is Taurus tool which provides possibility of creating/running a JMeter test plan using simple declarative YAML syntax

Related

Java cucumber without feature file

I am quite new with cucumber and I try to find on the web if it is possible to Use cucumber java library without using feature file from cucumber
What I would like to do is to instantiate Java object with Step definition in it (GIVEN/WHEN/THEN) from a string that will store my gherkin test.
If any of you have already been in same position it will be great to discuss it
Thanks
PS: I could use the feature file but I will have to do little more dev to retrieve it and write it on the disk as Cucumber is on my XRay company server
AFAIK it's not something possible with Cucumber right now and even if possible it would require a non negligible amount of work.
Have you read this documentation on how to use Cucumber with XRay though?

Merging surefire JUnit reports

I have a Java project, which consists of loads of maven modules and a considerable amount of unit/integration tests. The project is configured to create test reports via the surefire plugin. Now this plugin basically creates an XML-report per test class and is scheduled to run once a day and executed on Jenkins.
What I want to do is, send the those XML-reports to a test management system (XRAY) in order to make them more visible and manageable. My (naive) approach would be to just just add a post build script on Jenkins and send those reports via curl to the test managements REST-API. This API offers a way to send a single report file at a time. This report file can either be single or nested, i.e. I can basically send both of the following and it works:
Single report
<testsuite>
...
</testsuite>
Aggregated report
<testsuites>
<testsuite ... />
<testsuite ... />
</testsuites>
The REST-API can handle both, that is the IBM JUnit schema and the standard surefire schema
Now to the problem; I obviously want to combine those reports into one to avoid having to make a billion requests to the REST-API. However I can't seem to find an automated way. What I've tried so far is
play around with the surefire plugin to merge the XML reports, but no appropriate option seems to exist
Organise Tests into a (JUnit) test suite, but the output remains an xml report per test
finding alternative plugins/tools that address this issue, no luck
The only other way I can think of is to write a "merge script" myself, possibly using some sort of XSLT-transformation. But I'd rather not. Any help is much appreciated, thanks!
The solution would be to use an external utility for that as surefire seems to not support it.
I've used successfully junit-merge utility, which is an NPM package, as you can see for example in this tutorial.
The usage is pretty straightforward; you just need to specify the output file and the input folder containing the multiple JUnit XML based reports.
junit-merge -o results.xml -d target/surefire-reports/

Parameterizing the Cucumber feature files

I am having a Spring Java application with Cucumber feature files to run selenium test case.
Now I need to dynamically parametrize the feature files. So I am building an application which exposes all the parameters in feature files on UI
Users will modify these parameters. Once modified the selenium test cases should run by picking these new parameters.
Kindly advise

Is there a way to use the FitNesse / SLIM engine to launch test suites designed with FitPro (,suite + .fit web pages)?

My company is using FitPro + FitLibrary to test our applications. Our main test suites are .suite files and they invoke FIT tests pages, which bear the .fit extension (contents
is HTML).
Our application Fixtures are built on top of FitLibraryRunner.jar (a release issued on 01/28/2007), and we have a .bat/.sh script which launches our FIT tests suite using
com.luxoft.fitpro.runner.TestCaseRunner, which is part of the fitpro.jar library.
This setup is convenient for us because we provide the same application but customized for many customers, and all you need to run FIT tests is fitpro.jar among your classpath, and you don't depending upon other stuff.
As FitPro seems to be no longer maintained, our alternative would be to switch to FitNesse.
Now, it would seem as per my understanding that FitNesse does not offer runners that would allow executing FIT tests suites outside of its wiki. Let me precise that the usage of a Wiki is not really useful for us due to us packaging the same libraries but in differents stages of development, and to many customers.
I would like to know if any of you could ever succeeded in launching the FitNesse/SLIM engine outside of the wiki context ? I am looking for a way to invoke a Runner provided with FitNesse, that reads a main suite test file (.suite) and produces an HTML or XML-based report as output, just like the way we do with FitPro.
I am also told that I could not use the .suite and .fit pages we have created with FitPro over the years.
Thanks in advance for any feedback!
J-C
If you don't want to use the FitNesse wiki, then FitNesse doesn't add any value for you. FitNesse renders HTML from its wiki pages and passes them to a test execution engine, like Slim, FitLibrary, fitSharp, etc. FitLibrary and fitSharp can also execute tests sourced from HTML files. I haven't used FitPro but it appears to feed FitLibrary with tests from its own .suite and .fit files. Your best bet may be to use FitLibrary's FolderRunner and organize your suites into folders of HTML files that FolderRunner can process.

Are there any good testing plaftorms for testing commandline Java batch software?

I've got a Java software that reads settings from properties files and database, reads input files from a directory and creates output files in another directory. It also makes modifications to database.
I need to improve testing of this software from being manual to automatic. Currently the user copies some files to input directory, executes the program and inspects the files in the output director. I'd like to automate this to just running the tests and inspecting the test result file. The test platform would have a expected result file(s) for each input file. The test results should be readable by people that are not programmers :)
I don't want to do this in a jUnit test in the build phase because the tests have to be executed against development and test environments. Is there any tools/platforms that could help me with this or should I build this kind of thing from scratch?
I'd recommend to use TestNG testing framework.
This is functionality testing framework, which provides similar to jUnit functionality, but has a number of features specific to functional testing - like test dependencies, groups etc.
The test results should be readable by
people that are not programmers :)
You can implement your own test listener and use it to build custom test report.

Categories

Resources