1. Tell me is it possible to use Selenium for multi-user Load Testing?

Yes, but it requires a LOT of hardware. We recommend you check out
BrowserMob, which does load testing with real browsers and is powered by
Selenium.

2. Do you know actual end user simulation, Is the test conducted using this tool
equivalent to an end user action?

Selenium performs actions in the background on the browser. It modifies
the DOM structure of the HTML page in order to perform actions on the
page. To be more precise it executes JavaScript on UI objects within the
webpage to perform actions like click, type, select etc. This is the
reason why you can execute tests with the browser minimized.

QTP claims to perform end user simulation, in other words executing QTP
scripts are equivalent to a person performing those steps manually on
the application.

3. Explain how to configure Selenium RC with eclipse to run Junit Tests?

1) Download eclipse. click here to download the software
2) Open eclipse -> Workspace Launcher window will open
3) Create a workspace by giving meaningful name
3) Click on Workbench
4) Create a project of type java
5) Create a package under src folder of the package
6) Add Junit to the build path
7) Add selenium rc java client driver to the build path
8) Now drag and drop your test script (.which is exported from Selenium
IDE) to the package created.

4. Explain what is the difference between Thread.Sleep() and Selenium.setSpeed()?

Selenium.setSpeed:
1. takes a single argument in string format
ex: selenium.setSpeed("2000") - will wait for 2 seconds
2. Runs each command in after setSpeed delay by the number of
milliseconds mentioned in setSpeed.

Thread.sleep:
1. takes a single argument in integer format
ex: thread.sleep(2000) - will wait for 2 seconds
2. Waits for only once at the command given at sleep.

5. Tell me what are the basic annotations used to run TestNG tests in Selenium?

The basic annotations used to run TestNG tests in Selenium RC:
1. @BeforeClass: The annotated method with @BeforeClass will be run
before the first test method in the current class is invoked.
2. @AfterClass: The annotated method with @AfterClass will be run after
all the test methods in the current class have been run.
3. @BeforeMethod: The annotated method with @BeforeMethod will be run
before each test method.
4. @AfterMethod: The annotated method with @AfterMethod will be run
after each test method.
5. @Test: Marks a class or a method @Test with as part of the test.

6. Explain does Selenium support mobile internet testing?

Selenium supports Opera and opera is used in most of the Smart phones.
So whichever Smart phone supports opera, selenium can be used to test.
So, one can use Selenium RC to run the tests on mobiles.

7. Tell me what is the architecture of Selenium RC?

The Selenium Server launches and kills browsers and acts as an HTTP
proxy for browser requests.
Client libraries for various programming languages, each of which
instructs the Selenium Server in how to test the AUT by passing it your
test script's Selenium commands.
The client libraries communicate with the Server passing each Selenium
command for execution. Then the server passes the Selenium command to
the browser using Selenium-Core JavaScript commands. The browser, using
its JavaScript interpreter, executes the Selenium command, which
effectively, runs the check you specified in your Selenese test script.

8. Explain how many testing frameworks can QA Tester use in Selenium RC?

Testing frameworks aren't required, but they can be helpful if QA Tester
wants to automate test cases. Selenium RC supports Bromine, JUnit,
NUnit, RSpec (Ruby), Test::Unit (Ruby), TestNG (Java), unittest (Python).

9. Do you know why Selenium RC is used?

We use Selenium RC for:
Selenium-IDE does not directly support:
1. Condition statements.
2. Iteration.
3. Logging and reporting of test results.
4. Error handling, particularly unexpected errors.
5. Database testing.
6. Test case grouping.
7. Re-execution of failed tests.
8. Test case dependency.
9. Capture screen shots on test failures.
The reason behind why Selenium-IDE does not support the above mentioned
requirements is IDE supports only HTML language. Using HTML language we
cannot achieve the above mentioned requirements. Because HTML does not
support conditional, looping and external source connectives.
To overcome the above mentioned problems Selenium RC is used.