2. What are the main components of Selenium testing tools?
3. What is Selenium IDE?
4. What is the use of context menu in Selenium IDE?
5. Can tests recorded using Selenium IDE be run in other browsers?
6. What are the advantage and features of Selenium IDE?
7. What are the disadvantage of Selenium IDE tool?
8. What is Selenium RC (Remote Control)?
9. What is Selenium Grid?
10. How Selenium Grid works?
11. What you say about the flexibility of Selenium test suite?
12. What test can Selenium do?
13. What is the cost of Selenium test suite?
14. What browsers are supported by Selenium Remote Control?
15. What programming languages can you use in Selenium RC?
16. What are the advantages and disadvantages of using Selenium as testing tool?
17. What is difference between QTP and Selenium?
18. What do you know about Selenium?
19. What are the technical challenges with selenium?
20. What are the test types supported by Selenium?
21. What are the capabilities of Selenium IDE?
22. What are the challenges with Selenium IDE?
23. Which are the browsers supported by Selenium IDE?
24. How to execute a single line command from Selenium IDE?
25. How to insert a start point in Selenium IDE?
26. How to insert a comment in Selenium IDE?
27. How to insert a break point in Selenium IDE?
28. How to debug the tests in Selenium IDE?
29. How to export the tests from Selenium IDE to Selenium RC in different languages?
30. How to capture bitmaps in Selenium?
31. Which is the command used for displaying the values of a variable into the output console or log?
32. Which are the browsers supported by Selenium RC?
33. Which are the Operating Systems supported by Selenium?
34. What is Selenium RC?
35. Why Selenium RC is used?
36. Which are the languages supported by Selenium RC?
37. When to use Accessors in Selenium?
38. What is Selenium WebDriver or Google WebDriver or Selenium 2.0?
39. What are the capabilities of Selenium WebDriver or Google WebDriver or Selenium 2.0?
40. What is the architecture of Selenium RC?
41. What is the architecture of Selenium Grid?
42. Does Selenium support mobile internet testing?
43. Does Selenium support Google Android Operating System?
44. What are the types of text patterns available in Selenium?
45. How to use regular expressions in Selenium?
46. What is Selenese?
47. How do you add check points or verification points in Selenium?
48. What is Assertion in Selenium?
49. What is an Accessor in Selenium?
50. When to use Assert, Verify and WaitFor in Selenium?
3. What is Selenium IDE?
4. What is the use of context menu in Selenium IDE?
5. Can tests recorded using Selenium IDE be run in other browsers?
6. What are the advantage and features of Selenium IDE?
7. What are the disadvantage of Selenium IDE tool?
8. What is Selenium RC (Remote Control)?
9. What is Selenium Grid?
10. How Selenium Grid works?
11. What you say about the flexibility of Selenium test suite?
12. What test can Selenium do?
13. What is the cost of Selenium test suite?
14. What browsers are supported by Selenium Remote Control?
15. What programming languages can you use in Selenium RC?
16. What are the advantages and disadvantages of using Selenium as testing tool?
17. What is difference between QTP and Selenium?
18. What do you know about Selenium?
19. What are the technical challenges with selenium?
20. What are the test types supported by Selenium?
21. What are the capabilities of Selenium IDE?
22. What are the challenges with Selenium IDE?
23. Which are the browsers supported by Selenium IDE?
24. How to execute a single line command from Selenium IDE?
25. How to insert a start point in Selenium IDE?
26. How to insert a comment in Selenium IDE?
27. How to insert a break point in Selenium IDE?
28. How to debug the tests in Selenium IDE?
29. How to export the tests from Selenium IDE to Selenium RC in different languages?
30. How to capture bitmaps in Selenium?
31. Which is the command used for displaying the values of a variable into the output console or log?
32. Which are the browsers supported by Selenium RC?
33. Which are the Operating Systems supported by Selenium?
34. What is Selenium RC?
35. Why Selenium RC is used?
36. Which are the languages supported by Selenium RC?
37. When to use Accessors in Selenium?
38. What is Selenium WebDriver or Google WebDriver or Selenium 2.0?
39. What are the capabilities of Selenium WebDriver or Google WebDriver or Selenium 2.0?
40. What is the architecture of Selenium RC?
41. What is the architecture of Selenium Grid?
42. Does Selenium support mobile internet testing?
43. Does Selenium support Google Android Operating System?
44. What are the types of text patterns available in Selenium?
45. How to use regular expressions in Selenium?
46. What is Selenese?
47. How do you add check points or verification points in Selenium?
48. What is Assertion in Selenium?
49. What is an Accessor in Selenium?
50. When to use Assert, Verify and WaitFor in Selenium?
Bitmaps
are captured using the Selenium set of commands. There are two modes of
capturing the bitmaps
1) Capture the bitmap for the entire page - it captures the browser main page area of AUT
2) Capture the bitmap for the screen shots - it captures the entire screen shot like the print screen that you give from your keyboard
Selenium doesn't support bitmap capturing for an element on AUT.
1) Capture the bitmap for the entire page - it captures the browser main page area of AUT
2) Capture the bitmap for the screen shots - it captures the entire screen shot like the print screen that you give from your keyboard
Selenium doesn't support bitmap capturing for an element on AUT.
Accessors
are mostly used for storing the value in a variable.
The variable can be used for following reasons:
1) To get the value from an element and comparing with some dynamic value
2) To take a logical decision to execute the test steps
ex: if the value of the variable true execute step1 and step2 else step3 and step4
3) To execute some statements in a loop based on the value returned by the element.
The variable can be used for following reasons:
1) To get the value from an element and comparing with some dynamic value
2) To take a logical decision to execute the test steps
ex: if the value of the variable true execute step1 and step2 else step3 and step4
3) To execute some statements in a loop based on the value returned by the element.
1)
assert - If the expected value is mandatory to continue with the next set of
steps we will use Assert. As Assert aborts the test, if the expected value
doesn't match. It is good to use for any mandatory checks.
2) verify - If the expected value is optional to continue with the next set of steps we will use Verify. As Verify continues executing with the next set of steps, if the expected value doesn't match. It is good to use for any optional checks.
3) waitFor - If your test needs to wait, if the expected value is not matching we use waitFor. We normally use waitFor for AJAX kind of controls loading within a page.
2) verify - If the expected value is optional to continue with the next set of steps we will use Verify. As Verify continues executing with the next set of steps, if the expected value doesn't match. It is good to use for any optional checks.
3) waitFor - If your test needs to wait, if the expected value is not matching we use waitFor. We normally use waitFor for AJAX kind of controls loading within a page.
Selenium
Assertions can be used in 3 modes:
1) assert - When an “assert” fails, the test will be aborted. If you are executing test suite, the next state case will start
2) verify - When a “verify” fails, the test will continue execution, logging the failure.
3) waitFor - “waitFor” commands wait for some condition to become true (which can be useful for testing Ajax applications). They will succeed immediately if the condition is already true. However, they will fail and halt the test if the condition does not become true within the current timeout setting.
1) assert - When an “assert” fails, the test will be aborted. If you are executing test suite, the next state case will start
2) verify - When a “verify” fails, the test will continue execution, logging the failure.
3) waitFor - “waitFor” commands wait for some condition to become true (which can be useful for testing Ajax applications). They will succeed immediately if the condition is already true. However, they will fail and halt the test if the condition does not become true within the current timeout setting.
Assertion
is nothing but a check or verification point.
Assertion verifies the state of the application conforms to what is expected.
Examples include “make sure the page title is X” and “verify that this checkbox is checked.
Assertion verifies the state of the application conforms to what is expected.
Examples include “make sure the page title is X” and “verify that this checkbox is checked.
Selenium
set of commands which are used for running the test are called as Selenese.
There are three types of Selenese, those are:
1. Actions - used for performing the operations and interactions with the target elements
2. Assertions - used as check points
3. Accessors - used for storing the values in a variable.
There are three types of Selenese, those are:
1. Actions - used for performing the operations and interactions with the target elements
2. Assertions - used as check points
3. Accessors - used for storing the values in a variable.
Regular
expressions in Selenium IDE can be used with the keyword - regexp: as a prefix
to the value and patterns needs to be included for the expected values.
For example if you want to use the regular expression for a command
Command: verifyText
Target: //font/font/b/font[1]
Value: Flight Confirmation # 2011-05-02451
in the above example Flight Confirmation is continuously changing each time you run the test case. So this can be written with a regular expression as mentioned below
Command: verifyText
Target: //font/font/b/font[1]
Value: regexp:Flight Confirmation # [0-9]{4}-[0-9]{2}-[0-9]{5,10}.
For example if you want to use the regular expression for a command
Command: verifyText
Target: //font/font/b/font[1]
Value: Flight Confirmation # 2011-05-02451
in the above example Flight Confirmation is continuously changing each time you run the test case. So this can be written with a regular expression as mentioned below
Command: verifyText
Target: //font/font/b/font[1]
Value: regexp:Flight Confirmation # [0-9]{4}-[0-9]{2}-[0-9]{5,10}.
There
are three types of patterns available in Selenium:
1. globbing
2. regular expressions
3. exact.
1. globbing
2. regular expressions
3. exact.
Yes,
Selenium Web Driver or Google Web Driver or Selenium 2.0 supports Android
Operating System. There are several libraries written to support Android
Operating System.
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.
The below
mentioned theory explains about the setup of Selenium Grid with architecture
and how it works.
Selenium Grid builds on the traditional Selenium setup, taking advantage of the following properties:
* The Selenium test, the application under test, and the remote control/browser pair do not have to be co-located. They communicate through HTTP, so they can all live on different machines.
* The Selenium tests and the web application under test are obviously specific to a particular project. Nevertheless, neither the Selenium remote control nor the browser is tied to a specific application. As a matter of fact, they provide a capacity that can easily be shared by multiple applications and multiple projects.
Consequently, if only we could build a distributed grid of Selenium Remote Controls, we could easily share it across builds, applications, projects - even potentially across organizations. Of course we would also need to address the scalability issues as described earlier when covering the traditional Selenium setup. This is why we need a component in charge of:
* Allocating a Selenium Remote Control to a specific test (transparently)
* Limiting the number of concurrent test runs on each Remote Control
* Shielding the tests from the actual grid infrastructure
Selenium Grid calls this component the Selenium Hub.
* The Hub exposes an external interface that is exactly the same as the one of a traditional Remote Control. This means that a test suite can transparently target a regular Remote Control or a Selenium Hub with no code change. It just needs to target a different IP address. This is important as it shields the tests from the grid infrastructure (which you can scale transparently). This also makes the developer’s life easier. The same test can be run locally on a developer machine, or run on a heavy duty distributed grid as part of a build – without ever changing a line of code.
* The Hub allocates Selenium Remote Controls to each test. The Hub is also in charge of routing the Selenese requests from the tests to the appropriate Remote Control as well as keeping track of testing sessions.
* When a new test starts, the Hub puts its first request on hold if there is no available Remote Control in the grid providing the appropriate capabilities. As soon as a suitable Remote Control becomes available, the Hub will serve the request. For the whole time, the tests do not have to be aware of what is happening within the grid; it is just waiting for an HTTP response to come back.
Selenium Grid builds on the traditional Selenium setup, taking advantage of the following properties:
* The Selenium test, the application under test, and the remote control/browser pair do not have to be co-located. They communicate through HTTP, so they can all live on different machines.
* The Selenium tests and the web application under test are obviously specific to a particular project. Nevertheless, neither the Selenium remote control nor the browser is tied to a specific application. As a matter of fact, they provide a capacity that can easily be shared by multiple applications and multiple projects.
Consequently, if only we could build a distributed grid of Selenium Remote Controls, we could easily share it across builds, applications, projects - even potentially across organizations. Of course we would also need to address the scalability issues as described earlier when covering the traditional Selenium setup. This is why we need a component in charge of:
* Allocating a Selenium Remote Control to a specific test (transparently)
* Limiting the number of concurrent test runs on each Remote Control
* Shielding the tests from the actual grid infrastructure
Selenium Grid calls this component the Selenium Hub.
* The Hub exposes an external interface that is exactly the same as the one of a traditional Remote Control. This means that a test suite can transparently target a regular Remote Control or a Selenium Hub with no code change. It just needs to target a different IP address. This is important as it shields the tests from the grid infrastructure (which you can scale transparently). This also makes the developer’s life easier. The same test can be run locally on a developer machine, or run on a heavy duty distributed grid as part of a build – without ever changing a line of code.
* The Hub allocates Selenium Remote Controls to each test. The Hub is also in charge of routing the Selenese requests from the tests to the appropriate Remote Control as well as keeping track of testing sessions.
* When a new test starts, the Hub puts its first request on hold if there is no available Remote Control in the grid providing the appropriate capabilities. As soon as a suitable Remote Control becomes available, the Hub will serve the request. For the whole time, the tests do not have to be aware of what is happening within the grid; it is just waiting for an HTTP response to come back.
The
Selenium Server which 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 diagram shows 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.
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 diagram shows 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.
One
should use WebDriver when requiring improved support for
• Mult-browser testing including improved functionality for browsers not well-supported by Selenium-1.0.
• Handling multiple frames, multiple browser windows, popups, and alerts.
• Page navigation.
• Drag-and-drop.
• AJAX-based UI elements.
• Mult-browser testing including improved functionality for browsers not well-supported by Selenium-1.0.
• Handling multiple frames, multiple browser windows, popups, and alerts.
• Page navigation.
• Drag-and-drop.
• AJAX-based UI elements.
WebDriver
uses a different underlying framework from Selenium’s javascript Selenium-Core.
It also provides an alternative API with functionality not supported in
Selenium-RC. WebDriver does not depend on a javascript core embedded within the
browser, therefore it is able to avoid some long-running Selenium limitations.
WebDriver’s goal is to provide an API that establishes
• A well-designed standard programming interface for web-app testing.
• Improved consistency between browsers.
• Additional functionality addressing testing problems not well-supported in Selenium 1.0.
The Selenium developers strive to continuously improve Selenium. Integrating WebDriver is another step in that process. The developers of Selenium and of WebDriver felt they could make significant gains for the Open Source test automation community be combining forces and merging their ideas and technologies. Integrating WebDriver into Selenium is the current result of those efforts.
WebDriver’s goal is to provide an API that establishes
• A well-designed standard programming interface for web-app testing.
• Improved consistency between browsers.
• Additional functionality addressing testing problems not well-supported in Selenium 1.0.
The Selenium developers strive to continuously improve Selenium. Integrating WebDriver is another step in that process. The developers of Selenium and of WebDriver felt they could make significant gains for the Open Source test automation community be combining forces and merging their ideas and technologies. Integrating WebDriver into Selenium is the current result of those efforts.
The
languages supported by Selenium RC
1. .Net,
2. Java (Junt 3, Junt 4, TestNG, Groovy)
3. Perl,
4. Python,
5. PHP,
6. Ruby.
1. .Net,
2. Java (Junt 3, Junt 4, TestNG, Groovy)
3. Perl,
4. Python,
5. PHP,
6. Ruby.
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 screenshots 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.
Since Selenium RC supports the languages .Net, Java, Perl, Python, PHP, and Ruby. In these languages we can write the programme to achieve the IDE issues
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 screenshots 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.
Since Selenium RC supports the languages .Net, Java, Perl, Python, PHP, and Ruby. In these languages we can write the programme to achieve the IDE issues
Selenium-RC
is the solution for tests that need a little more than just simple browser
actions and a linear execution. Selenium-RC leverages the full power of
programming languages, creating tests that can do things like read and write
external files, make queries to a database, send emails with test reports, and
practically anything else a user can do with a normal application.
You will want to use Selenium-RC whenever your test requires logic not supported by running a script from Selenium-IDE
You will want to use Selenium-RC whenever your test requires logic not supported by running a script from Selenium-IDE
Selenium
IDE
Works in Firefox 2+ Start browser, run tests Run tests
Operating Systems Supported:
1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others whichever supports Firefox 2+
Selenium Remote Control
Used for starting browser and run tests
Operating Systems Supported:
1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others
Selenium Core
Used for running tests
Operating Systems Supported:
1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others
Works in Firefox 2+ Start browser, run tests Run tests
Operating Systems Supported:
1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others whichever supports Firefox 2+
Selenium Remote Control
Used for starting browser and run tests
Operating Systems Supported:
1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others
Selenium Core
Used for running tests
Operating Systems Supported:
1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others
Supported
browsers for Selenium RC include:
1. *firefox
2. *mock
3. *firefoxproxy
4. *pifirefox
5. *chrome
6. *iexploreproxy
7. *iexplore
8. *firefox3
9. *safariproxy
10. *googlechrome
11. *konqueror
12. *firefox2
13. *safari
14. *piiexplore
15. *firefoxchrome
16. *opera
17. *iehta
18. *custom
Note: Any third party browser is supported with *custom followed by the complete path of the browser with executable
1. *firefox
2. *mock
3. *firefoxproxy
4. *pifirefox
5. *chrome
6. *iexploreproxy
7. *iexplore
8. *firefox3
9. *safariproxy
10. *googlechrome
11. *konqueror
12. *firefox2
13. *safari
14. *piiexplore
15. *firefoxchrome
16. *opera
17. *iehta
18. *custom
Note: Any third party browser is supported with *custom followed by the complete path of the browser with executable
Which is the command used for
displaying the values of a variable into the output console or log? | Selenium
The
command used for displaying the values of a variable into the output console or
log - echo
If you want to display a constant string. The below mentioned command can be used
echo <constant string>
ex: echo "The sample message"
If you want to display the value of a variable it can be written like below
echo ${<variable name>>
ex: echo ${var1}
Note: Here var1 is the variable.
If you want to display a constant string. The below mentioned command can be used
echo <constant string>
ex: echo "The sample message"
If you want to display the value of a variable it can be written like below
echo ${<variable name>>
ex: echo ${var1}
Note: Here var1 is the variable.
From
selenium IDE the test cases can be exported into the languages:
1. .Net,
2. Java,
3. Perl,
4. Python,
5. PHP,
6. Ruby
The below mentioned steps can explain how to export the test cases:
1. Open the test case from Selenium IDE
2. Select File -> Export Test Case As
1. .Net,
2. Java,
3. Perl,
4. Python,
5. PHP,
6. Ruby
The below mentioned steps can explain how to export the test cases:
1. Open the test case from Selenium IDE
2. Select File -> Export Test Case As
To
debug or execute the test cases line by line. Follow the below mentioned steps
1. Insert a break point (see the question to know more How to insert a break point in Selenium IDE? )from the location where you want to execute step by step
2. Run the test case
3. execution will be paused at the given break point
4. Click on the step (Blue) button to continue with the next statement
5. Click on Run button, to continue executing all the commands at a time.
1. Insert a break point (see the question to know more How to insert a break point in Selenium IDE? )from the location where you want to execute step by step
2. Run the test case
3. execution will be paused at the given break point
4. Click on the step (Blue) button to continue with the next statement
5. Click on Run button, to continue executing all the commands at a time.
Break
point can be set in two ways in Selenium IDE:
1. Right click on the command in Selenium IDE and select "Toggle Break Point"
2. Select the command in Selenium IDE and press "B" key on the keyboard
3. If you want to clear the break point once again Spress "B" key on the keyboard
4. You can set multiple break points in Selenium IDE.
1. Right click on the command in Selenium IDE and select "Toggle Break Point"
2. Select the command in Selenium IDE and press "B" key on the keyboard
3. If you want to clear the break point once again Spress "B" key on the keyboard
4. You can set multiple break points in Selenium IDE.
Comments
in Selenium IDE can be set in two ways
1. Right click on the command in Selenium IDE and select "Inert New Comment"
2. If you want to comment an existing line. You need to follow the below mentioned steps.
a. Select the source tab in IDE
b. Select the line which you want to comment
c. Assume that if you want to comment a open command you need to write like below mentioned code
<tr>
<!--
<td>open&l/td>
<td>/node/304/edit&l/td>
<td></td>
-->
</tr>
1. Right click on the command in Selenium IDE and select "Inert New Comment"
2. If you want to comment an existing line. You need to follow the below mentioned steps.
a. Select the source tab in IDE
b. Select the line which you want to comment
c. Assume that if you want to comment a open command you need to write like below mentioned code
<tr>
<!--
<td>open&l/td>
<td>/node/304/edit&l/td>
<td></td>
-->
</tr>
Start
point Selenium IDE can be set in two ways:
1. Right click on the command in Selenium IDE and select "Set / Clear Start Point"
2. Select the command in Selenium IDE and press "S" key on the keyboard
3. You can have only one start point
4. If you have already set one start point and you selected other command as start point. Then the first start point will be removed and the new start point will be set.
1. Right click on the command in Selenium IDE and select "Set / Clear Start Point"
2. Select the command in Selenium IDE and press "S" key on the keyboard
3. You can have only one start point
4. If you have already set one start point and you selected other command as start point. Then the first start point will be removed and the new start point will be set.
Single
line command from Selenium IDE can be executed in two ways
1. Right click on the command in Selenium IDE and select "Execute This Command"
2. Select the command in Selenium IDE and press "X" key on the keyboard.
1. Right click on the command in Selenium IDE and select "Execute This Command"
2. Select the command in Selenium IDE and press "X" key on the keyboard.
Selenium
IDE supports only one browser Mozilla Firefox.
The versions supported as of now are:
Mozilla Firefox 2.x
Mozilla Firefox 3.x
The versions not supported as of now are:
earlier versions of Mozilla Firefox 2.x
Mozilla Firefox 4.x.
The versions supported as of now are:
Mozilla Firefox 2.x
Mozilla Firefox 3.x
The versions not supported as of now are:
earlier versions of Mozilla Firefox 2.x
Mozilla Firefox 4.x.
Selenium-IDE
does not directly support:
1. condition statements
2. iteration or looping
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 screenshots on test failures
10. Results Report generations.
1. condition statements
2. iteration or looping
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 screenshots on test failures
10. Results Report generations.
Selenium
IDE (Integrated Development Environment) works similar to commercial tools like
QTP, Silk Test and Test Partner etc.
The below mentioned points describes well about Selenium IDE.
1. Selenium IDE is a Firefox add-on.
2. Selenium IDE can support recording the clicks, typing, and other actions to make a test cases.
3. Using Selenium IDE A Tester can play back the test cases in the Firefox browser
4. Selenium IDE supports exporting the test cases and suites to Selenium RC.
5. Debugging of the test cases with step-by-step can be done
6. breakpoint insertion is possible
7. Page abstraction functionality is supported by Selenium IDE
8. Selenium IDE can supports an extensibility capability allowing the use of add-ons or user extensions that expand the functionality of Selenium IDE.
The below mentioned points describes well about Selenium IDE.
1. Selenium IDE is a Firefox add-on.
2. Selenium IDE can support recording the clicks, typing, and other actions to make a test cases.
3. Using Selenium IDE A Tester can play back the test cases in the Firefox browser
4. Selenium IDE supports exporting the test cases and suites to Selenium RC.
5. Debugging of the test cases with step-by-step can be done
6. breakpoint insertion is possible
7. Page abstraction functionality is supported by Selenium IDE
8. Selenium IDE can supports an extensibility capability allowing the use of add-ons or user extensions that expand the functionality of Selenium IDE.
Selenium
could be used for testing the web based applications. The test types can be
supported are:
1. functional,
2. regression,
3. load testing
The automation tool could be implemented for post release validation with continuous integration tools like:
1. Jenkins,
2. Hudson,
3. QuickBuild
4. CruiseCont
1. functional,
2. regression,
3. load testing
The automation tool could be implemented for post release validation with continuous integration tools like:
1. Jenkins,
2. Hudson,
3. QuickBuild
4. CruiseCont
As
you know Selenium is a free ware open source testing tool. There are many
challenges with Selenium.
1. Selenium Supports only web based applications
2. It doesn’t support any non web based (Like Win 32, Java Applet, Java Swing, .Net Client Server etc) applications
3. When you compare selenium with QTP, Silk Test, Test Partner and RFT, there are many challenges in terms of maintainability of the test cases
4. Since Selenium is a freeware tool, there is no direct support if one is in trouble with the support of applications
5. There is no object repository concept in Selenium, so maintainability of the objects is very high
6. There are many challenges if one have to interact with Win 32 windows even when you are working with Web based applications
7. Bitmap comparison is not supported by Selenium
8. Any reporting related capabilities, you need to depend on third party tools
9. You need to learn any one of the native language like (.Net, Java, Perl, Python, PHP, Ruby) to work efficiently with the scripting side of selenium.
1. Selenium Supports only web based applications
2. It doesn’t support any non web based (Like Win 32, Java Applet, Java Swing, .Net Client Server etc) applications
3. When you compare selenium with QTP, Silk Test, Test Partner and RFT, there are many challenges in terms of maintainability of the test cases
4. Since Selenium is a freeware tool, there is no direct support if one is in trouble with the support of applications
5. There is no object repository concept in Selenium, so maintainability of the objects is very high
6. There are many challenges if one have to interact with Win 32 windows even when you are working with Web based applications
7. Bitmap comparison is not supported by Selenium
8. Any reporting related capabilities, you need to depend on third party tools
9. You need to learn any one of the native language like (.Net, Java, Perl, Python, PHP, Ruby) to work efficiently with the scripting side of selenium.
Selenium
is a suite of tools for web automation testing.
Selenium first came to life in 2004 when Jason Huggins was testing an internal application at ThoughtWorks.
Selenium was a tremendous tool, it wasn’t without it’s drawbacks. Because of its Javascript based automation engine and the security limitations browsers apply to Javascript, different things became impossible to do.
Selenium Suite of projects include:
Selenium IDE
Selenium Core
Selenium 1 (known as. Selenium RC or Remote Control)
Selenium 2 (known as. Selenium Webdriver)
Selenium-Grid.
Selenium first came to life in 2004 when Jason Huggins was testing an internal application at ThoughtWorks.
Selenium was a tremendous tool, it wasn’t without it’s drawbacks. Because of its Javascript based automation engine and the security limitations browsers apply to Javascript, different things became impossible to do.
Selenium Suite of projects include:
Selenium IDE
Selenium Core
Selenium 1 (known as. Selenium RC or Remote Control)
Selenium 2 (known as. Selenium Webdriver)
Selenium-Grid.
Only
web applications can be testing using Selenium testing suite. However, QTP can
be used for testing client server applications. Selenium supports following web
browsers: Internet Explorer, Firefox, Safari, Opera or Konqueror on Windows,
Mac OS X and Linux. However, QTP is limited to Internet Explorer on Windows.
QTP uses scripting language implemented on top of VB Script. However, Selenium test suite has the flexibility to use many languages like Java, .Net, Perl, PHP, Python, and Ruby.
QTP uses scripting language implemented on top of VB Script. However, Selenium test suite has the flexibility to use many languages like Java, .Net, Perl, PHP, Python, and Ruby.
Advantages: Free,
Simple and powerful DOM (document object model) level testing, can be used for
continuous integration; great fit with Agile projects.
Disadvantages: Tricky setup; dreary errors diagnosis; can not test client server applications.
Disadvantages: Tricky setup; dreary errors diagnosis; can not test client server applications.
C#,
Java, Perl, PHP, Python, Ruby.
The test
automation expert can use Firefox, IE 7/8, Safari and Opera browsers to run
tests in Selenium Remote Control.
Selenium
test suite a set of open source software tool, it is free of cost.
Selenium
is basically used for the functional testing of web based applications. It can
be used for testing in the continuous integration environment. It is also
useful for agile testing
Selenium
testing suite is highly flexible. There are multiple ways to add functionality
to Selenium framework to customize test automation. As compared to other test
automation tools, it is Selenium’s strongest characteristic. Selenium Remote
Control support for multiple programming and scripting languages allows the
test automation engineer to build any logic they need into their automated
testing and to use a preferred programming or scripting language of one’s
choice. Also, the Selenium testing suite is an open source project where code
can be modified and enhancements can be submitted for contribution.
Selenium
Grid sent the tests to the hub. Then tests are redirected to an available
Selenium RC, which launch the browser and run the test. Thus, it allows for
running tests in parallel with the entire test suite.
Selenium
Grid in the selenium testing suit allows the Selenium RC solution to scale for
test suites that must be run in multiple environments. Selenium Grid can be
used to run multiple instances of Selenium RC on various operating system and
browser configurations.
Selenium
RC allows the test automation expert to use a programming language for maximum
flexibility and extensibility in developing test logic. For example, if the
application under test returns a result set and the automated test program
needs to run tests on each element in the result set, the iteration / loop
support of programming language’s can be used to iterate through the result
set, calling Selenium commands to run tests on each item. Selenium RC provides
an API and library for each of its supported languages. This ability to use
Selenium RC with a high level programming language to develop test cases also
allows the automated testing to be integrated with the project’s automated
build environment.
1.
Selenium IDE tool can only be used in Mozilla Firefox browser.
2. It is not playing multiple windows when we record it.
2. It is not playing multiple windows when we record it.
1.
Intelligent field selection will use IDs, names, or XPath as needed
2. It is a record & playback tool and the script format can be written in various languages including : C#, Java, PERL, Python, PHP, HTML
3. Auto complete for all common Selenium commands
4. Debug and set breakpoints
5. Option to automatically assert the title of every page
6. Support for Selenium user-extensions.js file.
2. It is a record & playback tool and the script format can be written in various languages including : C#, Java, PERL, Python, PHP, HTML
3. Auto complete for all common Selenium commands
4. Debug and set breakpoints
5. Option to automatically assert the title of every page
6. Support for Selenium user-extensions.js file.
Yes.
Although Selenium IDE is a Firefox add on, however, tests created in it can
also be run in other browsers by using Selenium RC (Selenium Remote Control)
and specifying the name of the test suite in command line.
It
allows the user to pick from a list of assertions and verifications for the
selected location.
Selenium
IDE is for building Selenium test cases. It operates as a Mozilla Firefox add
on and provides an easy to use interface for developing and running individual
test cases or entire test suites. Selenium-IDE has a recording feature, which
will keep account of user actions as they are performed and store them as a
reusable script to play back.
Selenium
IDE, Selenium RC and Selenium Grid.
Selenium is a set of tools that supports rapid development
of test automation scripts for web based applications. Selenium testing tools
provides a rich set of testing functions specifically designed to fulfil needs
of testing of a web based application.
Q. What are some of the challenges you faced with
JMeter?
If a
subsequent request rely on the cookie set by the previous request, the
"cookie manager" element is required.
When
setting up the "CSV Data Set Config", don't have any spaces in the
variable names.
What are Pre-Processor and Post-Processor
elements? In what order does JMeter
process various type of elements?
A
Pre-Processor executes some action prior to a Sampler Request being made. If a
Pre-Processor is attached to a Sampler element, then it will execute just prior
to that sampler element running. A Pre-Processor is most often used to modify
the settings of a Sample Request just before it runs, or to update variables
that aren't extracted from response text.
A
Post-Processor executes some action after a Sampler Request has been made. If a
Post-Processor is attached to a Sampler element, then it will execute just
after that sampler element runs. A Post-Processor is most often used to process
the response data, often to extract values from it.
A Regular
Expression Extractor can be used as a Post-Processor element to extract values
to be used elsewhere in subsequent requests. For example, if you are using JSF
and Seam frameworks, the jsfViewState and CID values can be extracted as shown
below:
The
elements are executed in the following order as per the JMeter documentation.
0.
Configuration elements
1.
Pre-Processors
2. Timers
3.
Sampler
4.
Post-Processors (unless SampleResult is null)
5.
Assertions (unless SampleResult is null)
6.
Listeners (unless SampleResult is null)
Timers,
Assertions, Pre- and Post-Processors are only processed if there is a sampler
to which they apply. Logic Controllers and Samplers are processed in the order
in which they appear in the tree. Other test elements are processed according
to the scope in which they are found, and the type of test element.
Q. How do you ensure re-usability in your JMeter scripts?
Using
config elements like "CSV Data Set Config", "User Defined
Variables", etc for greater data reuse.
Modularizing
shared tasks and invoking them via a "Module Controller".
Writing
your own BeanShell functions, and reusing them.
No comments:
Post a Comment