I would like to understand if,
- it makes sense to have Karate integration with SauceLabs
- Benefits if that is an Yes
Also, if i want to implement the integration what is the approach i should use.
I am planning to mimic the similar implementation using Selenium remote web driver. Please let me know if this is the only approach that can be taken or there is any other way out for this.
Yes, if SauceLabs conforms to the spec - refer to the documentation for webDriverSession: https://github.com/intuit/karate/tree/master/karate-core#webdriversession
Note that this has been proven to work with Zalenium: https://github.com/intuit/karate/tree/master/karate-core#webdriverurl
And also AWS Device Farm: https://twitter.com/ptrthomas/status/1222790566598991873
Please note that if you are ok to use only Chrome, the Docker approach may give you a better experience, but you can decide: https://github.com/intuit/karate/tree/master/karate-core#karate-chrome
EDIT - also see:
https://stackoverflow.com/a/64682293/143475
https://stackoverflow.com/a/63270092/143475
https://stackoverflow.com/a/65644566/143475
Related
I am somewhat new to using docker and the author mentioned that it is possible to run karate-gatling tests using docker for running distributed tests: https://github.com/intuit/karate/wiki/Distributed-Testing#gatling
Can anyone provide me an example that I can use to do this or direct me to github repo if someone already tried this?
The karate author provided a nice example to run web ui tests using docker so I am looking for something similar to this: https://github.com/intuit/karate/tree/master/examples/jobserver
This is actually part of the examples/gatling sample project, and look at the GatlingDockerJobRunner unit test.
I will edit the wiki to make this more clear. Yes, this may not be the best example, please please try it out and we will be happy to incorporate any changes you suggest.
EDIT: more info at this ticket: https://github.com/intuit/karate/issues/1220
I want to develop my client-server web app with clear gRPC (gRPC-Web) without REST. Something like described at official doc: https://grpc.io/docs/quickstart/web.html
Is it exist any tool like swagger that let me view message formats from .proto and test the server methods by sending any messages from the browser?
I use node.js for server side app
You could use https://kreya.app, which is a gRPC GUI client and supports gRPC-Web. Note that it requires an installation.
Disclaimer: I'm one of the authors of Kreya.
The gRPC-Web wire protocol is a binary format and is basically human-unreadable. There is an enhancement request to prettify it https://github.com/grpc/grpc-web/issues/317 but we haven't got around to it.
If you are ok with talking to your gRPC backend directly without gRPC web, there are a few CLI and GUI tools for that purpose:
CLI: The official tool grpc-cli
CLI: grpCurl
GUI: (this requires a golang backend unfortunately): grpc-json-proxy
GUI: omgrpc
Found this pretty tool for test my gRPC-backend directly (without gRPC-Web): https://github.com/uw-labs/bloomrpc
I'm using org.neo4j.ogm.testutil.TestServer and the http driver for integration testing instead of the Embedded driver because I like how the TestServer provides a browser based interface to see what is happening with each test.
However - my tests take ages! The build is getting up to around 30 minutes on a reasonably quick machine.
What I'd like to do is use the maven surefire plugin to execute my test cases in parallel.
To do this I imagine I'll need to be able to startup several neo4j TestServer instances, each on a different port.
Where is the best place to do this using neo4j 4.1? I assume #Before and #After (for shutdown) methods of my test cases? (possibly extracted into a super class?)
Also, how would I get the current port for the current test context into each unit test?
Any suggestions of how to go about this would be greatly appreciated :)
Have a look at org.neo4j.ogm.testutil.MultiDriverTestClass which sets up the Driver using the TestServer.
The TestServer should pick an available port anyway which should solve your problem of setting these up in parallel. In fact, you can just have your test class extend org.neo4j.ogm.testutil.MultiDriverTestClass (most of the tests in org.neo4j.ogm.persistence.examples do this) and provide an ogm.properties file that specifies that the driver to be used is the HTTP Driver
driver=org.neo4j.ogm.drivers.http.driver.HttpDriver
AEM 5.6.1
I am trying to run some server side testing using the sling testing tools. I have deployed the junit.core bundle and I can navigate to the JUnitServlet at /system/sling/junit/
When I hit this url there are tests visible from multiple bundles, I don't want to run the adobe ones but I can't figure out how to filter package names past the period using the url.
e.g
Available tests:
com.adobe.stuff
com.my.stuff
I tried:
/system/sling/junit/com/ <--works but isn't detailed enough
/system/sling/junit/com.my <-- breaks unsurprisingly
/system/sling/junit/com%2Emy <-- also breaks with 501
Is there an expected way of doing this? I couldn't find any documentation about this and the javadoc didn't really help either.
/system/sling/junit/com.my.html should work - you are right that the /system/sling/junit servlet should make this more explicit. There are examples of running such tests from proxy JUnit tests in the Sling codebase, see SlingServerSideTest for example.
How is it possible to automatic check if a link is broken?
What is the best solution (Screenscraping or other)
You could try selenium which is an automated testing framework.
You could also try monit which is a monitoring application (daemon). Sometimes I just use that service to check if a particular website or link is up. You can set it to check periodically.