Im using selenium-java 4.6.0 and Im capturing network traffic.When I try to import the selenium class for 'Network', I get several options :
-org.openqa.selenium.devtools.v107.network.Network;
-org.openqa.selenium.devtools.v106.network.Network;
-etc...
Is there a way to select always the last version available? Or another way to not to change with each new release the import version?
Hmm I think you can do this by specifying a specific import in class:
import org.openqa.selenium.devtools.v85.network.Network;
With one version import it's no way that it take some other version.
I had the exact same question a while back. Here is the answer I got back from Jim Evans (one of the Selenium developers):
those will change with every release. If you choose to use the raw DevTool protocol API, you’re tying yourself to a specific version of Chrome. This is the same reason that CDP-based automation libraries like Puppeteer tie their releases to specific versions of Chrome. Selenium provides version-agnostic APIs for common things that many people want to use CDP for, like network request/response interception and manipulation. If you find those APIs lacking, it would be instructive to know your use case, and how common it is.
source
Related
I work in a small firm whose product is a relatively simple web-based software. For the last several years we have used Selenium IDE and it's record-and-play functionality. It has delivered 98% of what we need. However, now that Selenium IDE will no longer be working several months from now, we must find an alternative. We considered using Selenium WebDriver, but none of us no know programming and we just don't have the time to all learn it quickly enough to maintain our current testing. So, we are looking for something that has at minimum the following features...
Has record-and-play functionality (as opposed to programming)
Can support multiple web browsers (Firefox, Chrome, IE, Safari)
Can generate reports
Will continue to be supported for years to come
Has either a large user community or good company customer service
Database connect would be nice
Hopefully, we can import our existing Selenium IDE scripts, rather than rewrite them.
We are willing to pay if it's good.
There are literally dozens of options for software and I don't have a clear path to selecting one. Some promising software is...
- Katalon Recorder and Studio. It looks like an excellent replacement for Selenium IDE. But it has small community for help
- QTP - A colleague previously worked with this and recommends it. It looks like an excellent alternative for webdriver, as it allows record and play. But it is very expensive.
Any help is appreciated.
As per your feature requirement here are a couple of viable Selenium IDE alternatives :
Protractor :
Pros :
1. Simple installation. Only a couple of commands needed to install Selenium WebDriver and start testing.
2. Uses JavaScript which is easy to learn with limited programming background.
Cons :
1. Though flexible but still evolving. Setting up the project and the reporting plugins needs a bit of expertise.
2. Requires clear understanding of sync/async behavior.
Katalon Studio :
Pros :
1. No experience required for installation.
2. Unzip the package and ready to go.
3. No additional plug-ins are required.
4. The scripting interface allows an user to switch between the keyword-base table and the code editor.
Cons :
1.Though web automation and mobile automation is achievable API testing module needs more buildup.
Selenium Builder :
Pros :
1. Selenium Builder contains a lot of code from Selenium IDE and Webdriver.
2. The project is getting forked into a modern and a legacy version.
Cons :
1. As of version 40, Firefox requires all extensions to be signed and as it contains code from Selenium IDE and Webdriver it is getting rejected from signing.
2. Getting Selenium Builder into an acceptable state for signing means removing the existing code, which will remove support for Selenium 1.x and support for local playback of Selenium 2.x.
So it's a mix-bag situation and you can always pick one up and drop the other one at your disposal.
QTP I believe has now become UFT (Unified Functional Test) which does have a record option. Unfortunately what you lack in programming, you'll have to make up for in scripting knowledge (VBScript from what I worked with). It's not impossible but would probably take more effort to learn rather than implementing your own free version of Java/Selenium WebDriver. UFT is extremely expensive especially for a small firm which is a per license fee. If I remember right my last job had multiple licenses each $20k a piece.
I found some RPC Library (Python) for driving Odoo/OpenERP.
openerplib
oerplib
erppeek
xmlrpclib
odoorpc
Please let me know, which one is Best/Good/Official?
Thanks in advance
openerplib is a PHP library, probably not what you want if you're planning to use Pyhton.
xmlrpclib is Python standard library for XML-RPC. You can perfectly work with it, but it won't be the most pleasant library to work with. See the official docs for more details on it.
The other libraries are wrappers around xmlrpclib.
oerplib and odoorpc are from the same author, and I believe that the former is an older version (pre Odoo rebranding), so you should prefer the later. It is up to date, so it can be an option.
erppeek is up to date and is the project with more more activity and contributors. It also provides an API wrapper, but is build to be a console client for Odoo servers. AFAIK is widely used for that.
My advice it to have a look at the doc of odoorpc and erppeek and pick that one you feel better suited for your needs.
We have recently moved to Selenium Web Driver. We have loads of tests written in selenium Rc which are now working fine using webdriverbackedselenium API. Now I am planning to move to web driver. Can you please guide what the is best approach to shift. Either completely move the code to use web driver but it requires a lot of effort. Or use both. It means I need to keep wrapping and unwrapping the driver. Totally confused about the layout of structure. Please guide.
It really depends on how your old tests were organized. If you used Page Object Pattern in your old tests migration to WebDriver should not be so difficult. Just create base class for all your page model classes and put in it all the logic that you need to initialize your page instance using Page factory. After that you can rewrite old page classes one by one preserving old interface in order to reduce amount of changes in the tests.
I'm trying to get started with Selenium, but it's extremely confusing for anyone who still doesn't know the project.
If I go to the Selenium download page I get 7 download links for things with different names, and no description of what is each one. And then the Selenium 2 download link points to a page with another 8 files.
What does all of that mean? Which ones are deprecated? Which files should I get?
What are the differences between version 1 and 2? Is the version 1 deprecated, or do we still need to mix some modules from version 1 together with version 2?
And then, after searching on Google, I find Which Selenium Tool Should I Use?, but it's a very outdated page (last edited in 2007). It also talks about a limitation of the JavaScript testing interface: Same Origin Policy. Does this limitation still apply nowadays?
What are "Selenium Core", "Selenium Remote Control", "Selenium IDE"?
How about "Selenium (standalone) Server"? Is it the same thing as the Remote Control, or something different? What is the difference between Selenium Remote Control and Selenium Server?
And then I reach an official FAQ that is also confusing, and talks about a WebDriver thing that was going to be part of Selenium. Is it already inside Selenium? Is that FAQ up-to-date? How does it relate with other Selenium parts?
After all, another way to understand this question is: "I've never used Selenium before, I'm completely lost, and the documentation doesn't help." What I need is an introduction of what are all the parts of the project, which ones are old and deprecated, which ones are needed, which ones are interchangeable, which ones work with different browsers...
(maybe it would be a nice idea to have a community wiki answer that tries to be as accurate and detailed as possible)
I'm not much experienced with Selenium, but recently I have started it to automate form submissions while unit testing. For starters, try Selenium IDE. It is a Firefox addon which will help you to record actions and modify/replay them.
Actually more than that. You can perform Accessor operations, which will perfom a series of recorded/configured actions and will store the end results for us to analyze later.
And then there is Assertions, which will actually check the end state of a series of actions with some pre-configured conditions.
One thing I can say you is that Selenium is very handy and easy to learn. You can write your own test cases using plain html!
Here is a great beginner video - http://wiki.openqa.org/download/attachments/400/Selenium+IDE.swf?version=1
After seeing that, read through this tutorial - http://jroller.com/selenium/
And after that, read this reference - http://release.seleniumhq.org/selenium-core/1.0/reference.html
It explains everything you need to know. If you are first to Selenium, you will be amazZzed to see what all things selenium can do.
My project is compatible only with Internet Explorer. I want the test scripts to get generated automatically as it is done in Selenium IDE.
Can i use Selenium RC to test my application? I could not use Selenium IDE as it can be used only with Mozilla Firefox.
seleniumrc works with IE. You can specify the browser and the path to it within the config file.
It can be easily integrated into night builds via ant.
stick to writing the testcase in java.
Selenium RC and Selenium Grid are both really good at running tests against IE. You can see all the browsers that are supported by Selenium here and Selenium is Designed to write for one browser and work in the rest. THere are a few little quirks that wont work in every browser but 99% of the time it will.
Selenium RC works with IE, but is very buggy with IE 6 (to the point of being unusable). Generating the scripts is not trivial and there are many methods of doing it. We have created a Firefox extension that examines objects via introspection to make click recording easy. There are many options out there but your best bet is to write your tests with Firefox/Firebug (or Chrome). They will make object location much simpler and if you are careful the locator strings should still work in IE.
There could be two answer to you question:
Besides Selenium, though it has ample of advantages, I am reading about another tool which uses same API which Selenium use. The only changes in API I have seen so far is it reduces the complexity of functions thus making it more easier and simpler for user who is learning.
The tool is called 'Helium' and it has 50% (and more) less complex functions and code as Selenium has.
The only problem with this tool is it is paid tool for learning purpose and for implementing not-so-big scale project you can use it. But yeah after some time its gonna cost you.
I have implemented some code on Helium. Please let me know , if you face any issue initially or you are thinking to implement it.
Other being, you can use Selenium Builder(http://khyatisehgal.wordpress.com/2014/05/26/selenium-builder-exporting-and-execution/) which is an advanced form of Selenium IDE. It imports your command in different languages and does work more effectively and efficiently as Selenium IDE does(http://khyatisehgal.wordpress.com/2014/05/25/selenium-builder/)
Please let me know , if you have any doubt in any of the tool.
I know Watin is compatible with IE and Firefox. If you want to generate the test code you can use the Watin Test Recorder
This of course is implying that you are using .Net
... Or you could just use the .net bindings that comes along with the latest couple of versions, then you can just run 'em through nUnit.
For ex. Selenium IDE users Katalon Recorder might be a good match. Supports different browsers.