32

Why test in IE5 if the customer isn't using it? It doesn't sound like they actually want IE5 support. They just want it to work. Test in IE11 Compatibility mode, as that's what they use.


20

Given that the customer insists, I'd recommend using a virtual environment with IE5 installed, and then search for automation solutions that can work in that environment. This will be a challenge: you will need something that can operate on the elderly operating system (I think XP can run IE5, but I'm not sure about anything newer) and preferably something ...


17

Another approach (or part of one). Before proceeding ask for a sign-off on a document that clearly states the security risk this presents to the organization and its customers and that they acknowledge that risk. This might get more attention, though it is obviously a little aggressive (or may be perceived to be that way). Adjust approach as needed for the ...


14

Look around on the internet, e.g. ebay, for Windows machines that are 15-20 years old. I don't like this answer but given the crazy situation I am suggesting it.


12

Short answer: Yes it is a bad practise, unless you have a very very very good reason, do not use implicit wait. This Stack Overflow answers really puts the difference in great detail. (read this!) I once had someone on my team who thought it was a good idea, until I started researching why all our tests had such a long starting time. Somewhere in our setup ...


10

This is how I would debug a Selenium session to find out what is happening: Step-by-step debugging: Most IDE's allow you todo step-by-step debugging, you could set a break point just before the point you want to investigate. This will pause the execution of the test and lets you examine the browser with its own tools. You can step thru each line of code one ...


9

The main differences between Appium and AndroidDriver/iPhoneDriver are architectural. The AndroidDriver/iPhoneDriver work the same basic way - they are applications you launch on the phone that create a webview that you can remote control with selenium. The limitations to this approach are: No control over hardware/operating system. Webviews are not a real ...


9

In our last project we also evaluated different tools among these were also Cypress and Selenium. At the end we decided for Selenium, because we were testing front end applications and for us Cross-Browser testing was one of the most important reasons, why we made the decision for selenium. Furthermore our test management had the requirement to integrate one ...


8

You can try setting implicit wait time. (Documentation) // 5 seconds implicit wait (C# code) IWebDriver driver = new FirefoxDriver(); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));


7

According to The WebDriver Sampler: Your Top 10 Questions Answered article the information can be obtained from Selenium Changelog, for instance for Java client libraries: v2.52.0 ======= Firefox: Weakening platform restriction to enable 64-bit support Fixing closed window handling in FF45 So my expectation is that version 2.52 and ...


7

Steps to work with tabs in the same browser: Open a new tab using Ctrl + t Driver control automatically switches to the newly opened tab Perform the required operations here. Next switch back to the old tab using Ctrl + Tab. You need to keep pressing this unless you reach the desired tab. Once the desired tab is reached, then perform the operations in that ...


7

Probably not, mainly because: WebDriver is a W3C Spec WebDriver supports all major programming languages WebDriver is supported by all major browser vendors WebDriver is 100% open-source Cypress has commercial owners and for example "Test parallelization" is not in their open-source offering. Cypress is JavaScript only, which is not everyones cup-of-tea ...


6

IMHO, a team lead who is a developer with less knowledge in testing, is the wrong kind of person to be selecting a test tool. Do you have any QA Professionals on your team - perhaps someone with test tool experience? Or, lacking that do you have anyone on the team who will actually be tasked with using a test tool? I would suggest you turn to them. If ...


6

We have found that dealing with third party software in CI/dev environments was a great source of intermittency/failure and pain. So in our CI environments, we always create stub services for third parties. A stub service is basically a fake API service that you control, that behaves the same (or similar) to how the real service does. I would recommend ...


6

Selenium webdriver is W3C standard for browser automation, so any "better alternative" is a niche solution. "Record and play" tools may generate "tests" for you. Of course you will lose all the benefits of concise solution which you can get by using real programming language. Script may for example set up correct date (say, 1 hour from now), can wait in ...


6

This is going to be blunt. I don't know a not-blunt way to say this. First, learn to code. Working with Selenium, no matter what your toolkit happens to be, is writing code. If you don't understand the code or the principles behind the code, you will be constantly frustrated, and worse, you will irritate your peers with what will seem to experienced coders ...


6

Yes, Page Objects seem the right direction to encapsulate the frame in frames details from the test. Page objects are a classic example of encapsulation - they hide the details of the UI structure and widgetry from other components (the tests). https://martinfowler.com/bliki/PageObject.html var page = new Page(); page.DoSomeNavigation(); var ...


6

I would say it is always a good idea from the standpoint of automated tests development efficiency. Unused attributes (you call them tags but they are rather the attributes) cannot be really considered as disadvantage since they have really no impact (in most of the cases) to the functionality. The only disadvantage is the dev effort growing since adding ...


6

tl;dr: class="menu-link" Putting test-specific code in production adds complexity to the production code and only helps QA. Instead, use it as an opportunity to make the production code better designed and more flexible for everyone. In your example, the problem is that it's difficult and fragile to refer to the menu link. That is a problem which will ...


5

Webdriver is not only more modern. It is future W3C standard. Being able to click on hidden links seems like a misfeature. I would use old version only if newer version was seriously lacking important features without which I cannot live.


5

To play a devil advocate, if you try Python, you will find that you are substantially more productive because of dynamic typing. Python just works much harder to improve productivity of the programmer, as compared to C# which is focused to create effective code (making programmer to work harder to get it). In testing, it is of little difference if test ...


5

The JSON Wire Protocol is on it's way to becoming accepted as a W3C standard. This means that moving forward, the vendors behind browsers will have much more incentive to implement and maintain implementations for their browsers. Some vendors such as Mozilla and Microsoft have already taken over maintenance of the drivers used by Firefox and Edge. I heard ...


5

Yes, you can use NUnit for functional testing. But still it is a unit-testing framework. No, you are not creating unit-tests by using a unit-testing framework to write functional tests. A unit-test is testing just a single methods input and output, by writing end-2-end tests it by definition cannot be a unit-test. :) Unit testing frameworks are often ...


5

If you're talking about bringing the browser's window within the OS to the foreground. Selenium cannot do that. You need to introduce a library that is able to automate actions on an OS level. Selenium is restricted by javascript's same origin policy. Looks like you're using Java, so you could take a look at awt.Robot. But be aware that any solution you ...


5

Does your competitor offer something similar and if not, why not? Really in business nothing is free. Charge extra upfront during develop to cover the costs longterm Offer a subscription on maintenance Offer todo maintenance as long you get new work from the client In the past I have hired some contractors to help us with test-automation. Mostly this is ...


5

Assuming this decision is up to you, if you think you can easily maintain the existing scripts in the short term, 'free' might be reasonable to help build the relationship with this client. However, I would scope the length of time you will do this and getting a plan in place to transfer the knowledge to the client for general maintenance (anything long ...


5

This is an incorrect assumption. A webpage loads as follows in generic terms: Server content is received by the browser. Rendering begins starting with objects and then styles from a layout as in all at once and if you slowed it down you would see a pixelated progression as it took shape starting with the content areas and then the objects and then the ...


5

It will depend on your circumstances. Generally I consider categories such as: common identifiers used throughout the application. Examples may include login, logout, help, submit button, etc. identifiers that are used by forms and shared between different workflows identifiers that are specific to the data that a given workflow collects identifier that ...


5

Normal approach should we automate only functional flow not caring about the UI things like font of text, font type of text, color of text, background color, images, different panels on page etc. In short, DO NOT DO THIS. Automating text/fonts/images is a terrible idea because they can change. Does your marketing team (if you have one) have access to ...


5

There is no way to automate this in a way comparable to your current method. This is due to the lack of comparable automation APIs and basic action feedback. It is possible to manually test this by setting up virtual machines, this can still be done, even for Windows 95, etc. This will not work on public clouds or popular commercial hypervisors but can be ...


Only top voted, non community-wiki answers of a minimum length are eligible