In Selenium Grid suppose I have 4 scripts and I have to run 2 at one node
and 2 at another. Where and how these all scripts run on hub?
Is it simultaneously or one by one?
Questions isn't very clear on what the intent is.
In General, Each test that is given to HUB should specify the desired capabilities of a machine on which test should be run. Example: If one has 4 scripts and wants to run 2 on Windows with Firefox and another 2 on Max with Safari then script should be creating the RemoteWebDriver(Url, DesiredCapabilities).
Related
I am trying to build an instagram bot with selenium. So far I have managed to get it work with 1 chrome window and 1 account, it auto follows, likes etc. with the given http requests on my express server. However when I try it with 2 different accounts on 2 different selenium instances or windows, the first one stops executing the function(or maybe it starts executing on the second chrome window, I dont know whats happening). So can anyone explain me if and how its possible to continue execution on multiple windows? Note: I don't want to switch between instances.
You can use the Selenium Grid to implement the scenario.
Generally, Hub & Node Structure is generally used to run parallel Tests.
https://www.guru99.com/introduction-to-selenium-grid.html
Above link will help you to get the concept of Grid.
I came across this question:
How can I run multiple tests in parallel with JS/nightwatchjs?
But I want to execute multiple tests in parallel in the chrome browser only, in multiple chrome driver sessions.
I am used to java-testng-selenium based test suites where I can specify in the testng.xml file that I want to run multiple test classes or test methods in parallel and the framework does that exactly. If I specify in testng.xml that I want multiple test methods to execute in parallel in 4 threads, 4 chrome browser sessions pop-up and 4 test methods are executed in parallel.
Here's an example with a thread-count=2: https://github.com/adityai/testng-parallelsample/blob/master/methods-test-testng.xml
How can I do the same with nightwatch.js?
You might want to try the test_workers configuration, although I haven't tried it myself it should do exactly what you are looking for.
And a nice article that demostrates it in action:
https://markus.oberlehner.net/blog/speeding-up-nightwatch-powered-acceptance-tests/
I have a selenium java code which executes tests on IE. I want to try executing these tests in parallel using the same browser. How can I achieve this? And will I need to use multiple nodes to do so?
You need to setup a selenium grid which has atleast 2 nodes attached to it.
When it comes to IE support, you can run ONLY 1 test at any given point in time on one selenium node.
So if you need to run two parallel IE tests, then you would need to have atleast 2 nodes attached to your grid.
This blog post of mine gives you a complete overview of the selenium grid.
https://rationaleemotions.github.io/gridopadesham/
I m using a single test method which I feed from a data provider which can access different sheets of an excel file I m using keyword driven framework
You need a selenium grid. Selenium Grid allows you to have multiple slave and one host machine. So multiple instance can be kicked off at the same time. See this to start with the configuration.
I'm trying to simulate a firefox load testing situation. I want my to test how 10 simultaneous logins would play out on my system. I already have a connected selenium grid hub and 10 open nodes.
So far, I know I can write the test case and run it 10 times which isn't what I need because it isn't automated. I also know that I can use invocation count on the test to make it run as many times as i want but this only works on the same browser node.
Does anyone have any ideas on how to automatically distribute the same test case to multiple instances of the same driver profile?
i.e. Run a login case test times on the same firefox profile open in 10 different nodes in parallel.
Gracias!
P.S. I built my tests using testNG if that matters.
Basically selenium and testNG is not for such requiurement. You should use some dedicated tool for that like jmeter.
However you can run n methods parrallel let say if you want to login with 10 dif user in 10 thread/browser you can create test data driven and configure to run method in parrallel. Make sure you are providing proper value of parrallel thread count.
How about combining threadpoolsize with invocationcount. - http://testng.org/doc/documentation-main.html#parallel-running
Grid would take care to distribute on the 10 nodes.
use headless browser like GHOST and then invoke multiple threads as ghost has no UI so it would work in your case