Running multiple JIRA issues as Behat tests - testing

I am using Behat and JIRA together to run automated tests. Currently I am able to run a single JIRA issue using:
$ bin/behat jira:ISSUE_NUMBER
In order to this, I am using the JIRA extension for Behat (http://extensions.behat.org/jira-extension/)
However, I am looking for a way to run a group of tests on my JIRA account. I need this to work similar to the #tags in behat.
Any help would be greatly appreciated.
Thanks,
Girish Kini

This is currently not possible. After research, I have learnt that this feature is currently not supported by the jira extension. In the interim, try adding support for a comma separated list, eg jira:issue-1,issue-2,etc-n via the FeatureLoaderService.php.
sources: Anthon Pang via vipsoft/JiraExtension [ GitHub ]

You could create a version that included all the tickets that you wanted to run. Then in your behat.yml file specify that version using jql. Afterwhich you can run the following command.
php bin/behat http://myserver.com:8080/

Related

Tests with #javascript not working in Sylius (plugin)

I have been facing this issue for more than a day now, and I can't seem to figure it out.
I have configured my plugin using docker and I am running behat with headless chrome, getting this:
docker-compose exec -e APP_ENV=test sylius_plugin bash -c "vendor/bin/behat features/user/managing_vendors/deleting_multiple_vendors.feature"
#managing_vendors
Feature: Deleting multiple vendors
In order to get rid of deprecated vendors in an efficient way
As an Administrator
I want to be able to delete multiple vendor accounts at once
Background:
Given I am logged in as an administrator
And there is a vendor "ted" whose email is "ted#example.com"
And there is also a vendor "john" whose email is "john#example.com"
#ui #javascript
Scenario: Deleting multiple vendors at once
Given I browse vendors
Expected to be on "http://0.0.0.0:80/admin/vendor-users/" but found "http://0.0.0.0/admin/login" instead (FriendsOfBehat\PageObjectExtension\Page\UnexpectedPageException)
This feature is based on deleting_multiple_administrators.feature that is provided in the sylius package.
I found this other issue (https://github.com/Sylius/PluginSkeleton/issues/138) and tried to apply those solutions but none worked.
Could you enlighten me on this?
Happy to provide additional info.
Thanks
I have found the problem. There was a conflict between the environments (and therefore databases) dev and test.
The solution was to separate the environments in two docker containers and run them in an isolated manner.

How to limit the report generation only for specific feature file in karate framework?

I am having 3 feature file and I am trying to execute specific feature in karate using
#CucumberOptions(features = "classpath:Karate/Karate/APIM_LAYER.feature") over the test runner class.
But on execution, we are able to find reports for all the 3 feature files present in the "target/sure-fire reports path".
Please let us know is there a way to resolve this issue.
You should upgrade to V0.6.2, and when you run with #RunWith(Karate.class) with Cucumber options it will run those files sequentially and generate pretty html reports for each feature file.
As for the location of the reports, its usually mentioned in the console/terminal.
So make a testfolderunner.java file. add your cucumber options and then from terminal do mvn test -D test=testfolderunner
Al the best
I'm sure you still have the #RunWith(Karate.class) annotation even though it is clearly mentioned in the documentation that you should NOT use it for the parallel runner. Please confirm.

Display selenese-runner results in Jenkins

As I am implementing an automated way to GUI test our webapplication with selenium I ran into some issues.
I am using selenese-runner to execute our Selenium test suites, created with Selenium IDE as a post build action in Jenkins.
This works perfeclty fine, as the build fails when something is wrong, and the build succeeds if all tests are passed. And the results are stored on a per build basis as HTML files, generated be selenese-runner.
My problem is however, that I seem to be unable to find a way, how to display these results in the respective jenkins build.
Does anyone have an idea how to solve this issue. Or maybe I am on the wrong path at all?
Your help is highly appreciated!
I believe the JUnit plugin should do what you want, but it doesn't work for me.
My config uses this shell script to run the tests (you can see the names of all my test suites):
/usr/bin/Xvfb &
export DISPLAY=localhost:0.0
cd ${WORKSPACE}
java -jar ./test/selenium/bin/selenese-runner.jar --baseurl http://${testenvironment} --screenshot-on-fail ./seleniumResults/ --html-result ./seleniumResults/ ./test/selenium/Search_TestSuite.html ./test/selenium/Admin_RegisteredUser_Suite.html ./test/selenium/Admin_InternalUser_Suite.html ./test/selenium/PortfolioAgency_Suite.html ./test/selenium/FOAdmin_Suite.html ./test/selenium/PublicWebsite_Suite.html ./test/selenium/SystemAdmin_Content_Suite.html ./test/selenium/SystemAdmin_MetaData_Suite.html
killall Xvfb
And I can see the result of the most recent test (you can see the name of my jenkins task folder)
http://<JENKINS.MY.COMPANY>/job/seleniumRegressionTest/ws/seleniumResults/index.html
Earlier tests are all saved on the Jenkins server, so I can view them if I need to.

Send build status from Travis to Sauce Labs

I have my testing up and running with Travis/SauceLabs. Now I would like to add a SauceLabs test badge to my repo.
I added the badge markdown to my Readme file but how can I send the build pass/fail to SauceLabs? I found this instructions for Selenium,
Key: passed
Value type: bool
Example: "passed": true
but how/where do I add info in my files for my Grunt-Karma/Travis/SauceLabs testing?
The Karma-Sauce-Launcher was using the wrong id, and this was fixed on Github by this PR and released in NPM as version 0.2.5
Aditionally the saucelabs reporter has to be added to the gruntfile options, besides the existing ones or the default progress.
So the bugfix I added to my package.json:
"karma-sauce-launcher": "~0.2.5"
and added this:
reporters: ['progress', 'saucelabs'],
in the Karma options.
You have to use the REST API. What you would do is add code in a function that is executed at the very end of your test suite and knows the result of your test run. This code would have to perform a query equivalent to this curl command:
$ curl -H "Content-Type:text/json" -s -X PUT -d '{"passed": <status>}' http://<username>:<key>#saucelabs.com/rest/v1/<username>/jobs/<job-id>
(The identifiers in angular brackets have to be replaced with appropriate values.)
I've done it with Python but I don't have JavaScript code to share. And by the way, you have to do this for Selenium too because as the documentation states, when Selenium sends the job data to Sauce Labs, it cannot know yet what the test result is going to be.
If you're using Grunt already, you should use https://github.com/axemclion/grunt-saucelabs as it is the official plug-in that is worked on by devs from SauceLabs.

Using IntelliJ Golang plugin, how to run entire Golang project instead of a single file?

I am using the latest (2014-01-03) Golang plugin for IntelliJ - for the first time.
Usually, my terminal workflow is to do go build && ./executable -args=1
So I am attempting to create a launch configuration to do the same thing, I took these actions:
Create a "Go Application" configuration
Fill in GOPATH/GOROOT environment variable
Fill in CLI arguments
Because there has to be a file to run, so I chose the one with func main()
Then there is a problem. When I run the configuration, the Golang plugin does not build the project, but instead builds the single script file with main method, then attempt to run it - obviously it does not work.
How to create a configuration equivelent of go build && ./executable -args=1?
Try to use the latest version from the official plugin manager.
If that doesn't work, please help us identify the issue by submitting a report here
Also, we are working hard to update the plugin with better type checks, debugging, go appengine support, improved formatter and much more but any help in improving the plugin is greatly appreciated.
Hope it helps.
However, I prefer to use goclipse which support auto-build, auto code completion and debug.