Hi i am not a testing professional but stuck in one issue :
I need to do a smoke test of an pharmacy based application running on 1000s of linux servers in parallel.
Expectation as below:
We deploy build to all linux servers.
Now we want to do smoke test on all linux servers in parallel and get the result on our jump off server.
Please suggest what can be the efficient way. Any tool.
Related
I have some problem with Jenkins and Selenium.
I have a Jenkins Master and some Build Slaves, installed as Windows Services on Windows Server 2016 machines, in which I perform build jobs. In some of these jobs, I perform test with Selenium and I need to take some screenshots of these tests, but all the screenshots that I got are black.
Reading on the web, I found that many people are facing this kind issue. But I also found this, https://www.coretechnologies.com/blog/windows-services/interact-with-desktop/, in which is reported that it's not allowed for Windows Services to interact with desktop.
So, the question is: it's possible to make interact Jenkins Slave Service with the desktop in order to take some screenshot of it?
I am new to Appium/Selenium parallel testing and I was wondering if one could run different tests concurrently across multiple devices? My team needs to reduce the total runtime of our UI tests and are not concerned with different OS versions affecting the behaviour of the application for these specific tests. I have been reading through many posts and trying to search for answers but all I can seem to find on the internet are articles, tutorials and forums on how to run the same test in parallel on multiple devices.
Can I run different tests concurrently on multiple devices without kicking off different tests manually, or is that a limitation of Appium? Ideally this would be implemented using an open source solution.
(Right now we are trying to use a JUnit approach for testing due to specific limitations of other tools. All tests are being written in Java.)
Thanks for your time.
Depending on your setup, you can accomplish this. However, a lot of your build automation and device management will need to be set up by you or your team custom, so you will not be able to use an out-of-the-box solution to do this.
I've accomplished the same with both Selenium and Appium -- you will need a test framework that allows for test execution with parameters, and your devices will need to be connected to separate USB hubs that each have their own virtual server attached.
Using NUnit, here's my approach:
Generate .txt files for each different set of tests I want to run -- test_list_1.txt, test_list_2.txt, etc. Each list contains a different group of test cases to run.
Write a build script to clean & build your project from scratch -- for C#, I use Cake.
Set up a job in Jenkins that executes your build script and calls NUnit's console runner, which takes a test_list as a parameter. This initiates a test execution against a list of test cases
You should be able to build your Jenkins job against any test list you want, so you now have the ability to run your automation against different tests, as mentioned in your problem description.
Connect your virtual machines (which connect to your Appium devices) to Jenkins and add them as executors on your job. Now you have multiple machines to run your job against.
With this set up, you can run as many jobs as you have machines -- 4 VM's means 4 jobs, which means you can run 4 different sets of test cases concurrently.
Setting this up on my end was completely custom -- I used certain tools to accomplish individual steps, but it worked for our needs and we did accomplish concurrent execution against different sets of test cases.
What you are asking , basically it's not possible.
You can't run different test cases on different devices.
Though you can run same test cases on wide range of devices using Hive or Browserstack or AWS device farm.
Hope this helps.
You can run your tests locally on multiple devices by creating multiple instances of appium server. Every Appium server should be running on different ip and proxy address. So you should set your capabilities for each instance accordingly.
But there is another solution as well but that's bit costly. That is AWS Device Farm. AWS provides multiple real devices hosted at there servers which you can use for executions of your customised test suits. They give initially 1000 free test minutes. You have to create a maven project for your test scripts. I prefer using testng rather than Junit.
I can't found any question/answer about that (probably I don't know how to find it...)
Could somebody give me a global idea to execute +200 Selenium webdriver tests (Python) from cloud servers/tools?
Thanks!!
rgzl
Another way is Saucelabs, using this service you'll be able to just send your Selenium
Java/Python tests
to their Cloud infrastructure for execution. The benefits of such testing are obvious – no need to waste time and resources setting up and maintaining your own VM farm, and additionally you can run your test suite in various browsers in parallel. Also no need to share any sensitive data, source code and databases.
As said in this acticle:
Of course inserting this roundtrip across the Internet is not without cost. The penalty of running Selenium tests this way is that they run quite slowly, typically about 3 times slower in my experience. This means that this is not something that individual developers are going to do from their workstations.
To ease the integration of this service into your projects, maybe you'll have to write a some kind of saucelabs-adapter, that will do the necessary SSH tunnel setup/teardown and Selenium configuration, automatically as part of a test.
And for a better visualization:
Here's a global idea:
Use Amazon Web Services.
Using AWS, you can have a setup like this:
1 Selenium Grid. IP: X.X.X.X
100 Selenium nodes connecting to X.X.X.X:4444/wd/register
Each Selenium node has a node config, running 2 maxSessions at once. (depending on size of course)
Have also, a Continuous integration server like Jenkins, run your Python tests Against X.X.X.X grid.
One of my friend got this question during his interview.
To my mind, system testing tests software and hardware together, e.g. running the test on a staging system, which is similar to the productive system.
Non system testing is running the tests in another environment, like your developing machine.
Background:
We are running all physical
hardware.
All developers are using
VS 2010 Ultimate and we will be using
iTrace files.
We would like to run
our coded UI tests from test manager.
We have multiple test environments:
AT, SIT, FVT, UAT living each on
physical servers.
I’d like to be able to go into test manager select tests and say go run in AT or go run in FVT.
Here’s my question:
Do I set up interactive test agents on all of my test environments and instruct the coded UI tests to hit http://localhost/application?
Do I set up an interactive test agent on a another machine to execute the tests? If so how do I configure the coded UI tests to point to each of the test servers? Do I need test agents running as a process of the web servers?
We are using the following unsupported Microsoft features: http://blogs.msdn.com/b/lab_management/archive/2011/02/15/running-build-deploy-test-workflow-on-physical-environments.aspx
Actually, the blog describes exacly what you need and we got it up and running within a day like described, in a VMWare lab, without having the Lab Management pre-requisites deployed.