How to integrate JIRA with Robot Framework scripts of pycharm? - selenium

I have my automation scripts written in Pycharm using Python-Selenium-Robot Framework. I want to integrate it with JIRA to keep the track of result and other aspects with JIRA issues.
Is there any way to achieve it? I checked for XRay plugin but not able to get the detailed tutorial for the configuration. Any suggestions? TIA.

If you're using Jira "on-premises" (server/datacenter), then I would advise you to have a look at this tutorial.
There's a GitHub repo with the corresponding code.
The integration is straighforward: you just need to upload the test results from RF (e.g., output.xml) to a specific endpoint. You can do that with a HTTP POST request (with curl, for example) or from your CI/CD tool, such as Jenkins; for Jenkins, and some other tools, there is a free plugin.
Example of a shell script to upload the results (please adapt it accordingly)
#!/bin/bash
curl -H "Content-Type: multipart/form-data" -u admin:admin -F "file=#output.xml" "http://192.168.56.102/rest/raven/2.0/import/execution/robot?projectKey=ROB&testPlanKey=ROB-12&testEnvironments=$BROWSER"
There's no special configuration to make in Xray. You just need to upload the test results and that will automatically provision the corresponding Test entities (as Jira issues), and report the results against them.
In RF it's possible to do some interesting stuff, like adding tags on the test cases, in case you want to link those tests to some existing Story issue (i.e., cover them), during the import process of the test results.

Related

How do I Rerun test from perforce swarm api?

Swarm's web section has a Rerun test button to do this when I pass a review and want to restart other review tests, but I didn't find a way to do so in swarm's api.
What I'm doing right now is, PATCH method in swarm api was used to change the current state of testruns to running, and then ${swarm_URL}/ API /v10/${id}/testrun/${uuid}, the combination of testruns data obtained by curl, was used as parameter to remotely start the construction of jenkins.

IBM Watson Text To Speech Bower_Components

I'm pulling my hair out and would welcome some input/advice. I can't get any of the code examples for Watson's Text to Speech service to work. Or example codes for Amazon Polly or Read Speaker for that matter...
Every time I try to track down the problem it seems to boil down to something along the lines of "you need to install such and such (Composer, curl, Bowser, Drush, etc.) via the command line". That's all well and good, except for the fact that I'm new to web development and my company is currently using a shared hosting platform for which I do not have command line access.
Is there any way to get a decent text to speech engine installed on a shared hosting platform, or do I just need to bite the bullet and make the switch to a VPS?
Depending on what your actually trying to do with any text to speech solution, you should at least be able to test from a command line locally and then deploy the solution in code to a shared environment.
Regarding IBM Watson's Text to Speech, there are no dependencies in and of itself. In the most basic form, you're just making a call to a REST API: https://www.ibm.com/watson/developercloud/text-to-speech/api/v1/#synthesize_audio
As an example, using curl from any command line, the following will return a wav file:
curl -X GET -u "{username}":"{password}"
--output hello_world.wav
"https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize?
accept=audio/wav&text=Hello%20world&voice=en-US_AllisonVoice"
How you handle that file will depend on the programming language you use, but it still doesn't have any dependencies to get started with the examples.

build jmeter-parellarel-request-master

I need to write a scenario where we make several calls to an API in parallel with JMeter. The solution is based on OAuth, where a token is extracted and passed along with every call made to the API. This works fine, however, JMeter has no built-in option to make multiple parallel calls. I could divide them into separate thread groups, but this would not be desired.
Thread group
oauth calls to get token
extract token
api call /getCustomerActions
api call /getCustomerBlabla1..
api call /getCustomerBlabla2..
I've found the following custom sampler by Franz See:
https://github.com/franz-see/jmeter-parellarel-request
As I'm not big on development/compiling, my question would be how do I compile this package and use in in JMeter?
Download and install Apache Maven.
Download latest jmeter-parallel-request release
Unpack downloaded sources and switch to that folder
Invoke maven package command from that folder
Copy file from target/jmeter-parallel-request-xx.jar to JMeter's lib/ext folder
Restart JMeter to pick the plugin up
You can also check out How to Load Test AJAX/XHR Enabled Sites With JMeter guide for alternative solutions.
this plugin seems to work, but using it as a seperate thread group, all extracted values or tokens from other (main) threads are not captured.. too bad

Is there any API to automate extension installation in XWiki?

I use xwiki Enterprise 7.4. The official way to install extensions is to use either Import feature or Extension Manager. Both ways require user interaction. I would like to automate extension installation process, so no user interactions for extension installation. Is it possible? I've automated spaces/pages creation via REST API. Maybe it's possible to use REST API to do it, I can't find it in documentation.
Why do I need it? It's simple: I've automated all the steps of deployment/migration process for my application and I would like to automate xwiki extension installation too.
As indicated by Vincent, you can use the extension script service from inside XWiki. This script service is what the UI is using so everything the UI is doing can be done also by any script (as long as the script author has proper rights).
I just wrote a Velocity example on http://extensions.xwiki.org/xwiki/bin/view/Extension/Extension+Script+Module#HNon-interactiveandsynchronousinstall:
{{velocity}}
## Create install request for extension with id org.xwiki.contrib:extension-tweak and version 1.3 on current wiki
#set($installRequest = $services.extension.createInstallRequest('org.xwiki.contrib:extension-tweak', '1.3', "wiki:${xcontext.database}"))
## Disable interactive mode
$installRequest.setInteractive(false)
## Start install
#set($installJob = $services.extension.install($installRequest))
## Wait until install is done
$installJob.join()
{{/velocity}}
All you need is to put the Thomas' script in a page. You can use the REST API for that. See: http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI#HPageresources
Then you call the URL from your application.
Ex: you put the code in XWiki/AutoInstall with a REST call and then you can call this page with the following url:
http://localhost:8080/xwiki/bin/get/XWiki/AutoInstall
I suggest to use the "get" action from the URL to avoid unnecessary informations.
The XWiki Core dev team is aware of this and it's in the roadmap but it's not done yet. For example you can see that it was planned for the 8.0 roadmap but it slipped (http://www.xwiki.org/xwiki/bin/view/Roadmaps/Archives8xCycle/).
Continue improving upgrade tools: Scriptable upgrades (priority 1), Simulation (priority 2)
It seems there's no issue created for this at the moment. Would be great if you could create a JIRA issue at http://xwiki.org in the XWiki Platform project.
Now regarding extensions, there's some Script Service that can be used to manipulate extensions, see http://extensions.xwiki.org/xwiki/bin/view/Extension/Extension+Script+Module
However this documentation is pretty terse. You could check the java code at https://github.com/xwiki/xwiki-platform/blob/95abd2951123431c1624c124b49ca7a88b41be00/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-script/src/main/java/org/xwiki/extension/script/ExtensionManagerScriptService.java#L84-L84
I've not personally used this script service so I can't give real examples of using this API

Distributed testing using console - Jmeter

I found this link on remotely running my tests on different machines
http://performancetestingwithjmeter.blogspot.in/2012/09/distributed-load-testing-in-jmeter.html
but this link defines process using UI,
I want to done Distributed load testing via console,
What I should done to make Distributed(Master/Slave) testing work from console?
You can use jmeter with command option -r from master. Reference