Tag Info

Hot answers tagged

7

See, you can learn Selenium with any language whether it is C#, Java, Ruby, Python etc. It doesn't matter application which you are going to test has been developed in which language, you can test the C# application in Selenium with Java. In addition to it, you don't need to learn any of these language completely for working with automation. You should know ...


5

I am assuming that you: want to become competent programmer, with goal to learn programming beyond Selenium automation. have nobody around to ask for guidance (if you do, ask locally) also want to be able to write simple tools supporting QA tasks, and beyond. Python is widely considered as best language for beginners (MIT among others). It works much ...


3

is there any package of different toolkits and frameworks that if I learn them I could call myself a good tester? Good testers aren't defined by a magic set of toolkits and frameworks. Good testers are defined by their ability to test in lots of contexts - automated, manual, etc. In particular, good testers are good thinkers who can understand the ...


3

End to end testing will always have a certain amount of flakiness. If you work on a single app or website full time then you start to figure out the characteristics of it and how to deal with them. Timing issues is usually the problem for myself... But getting to know how to use the WebDriverWait class with ExpectedConditions helps dramatically since it ...


2

Since drop down contains more than one values, so we need to make selection out of a range of options. So there are three ways of getting or selecting elements from a drop down using the Select class of Selenium webdriver: Using the index of element in drop down. Using the Value of element in drop down. Using the text of element in drop down. Consider ...


2

TL;DR: Yes, but keep in mind that Selenium is only part of the integration test tool chain. If we define integration testing as something like this: Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. Then Selenium is only part of the integration testing phase, since it does ...


2

Yes, Selenium can be and is used for Integration testing and it is a good tool for that. You can use Selenium with TestNG framework which is designed to cover all categories of tests: unit, functional, end-to-end, integration, etc.. Refer to TestNG site, it's first line states that it is used for Integration testing with Data Driven Testing. For Acceptance ...


2

I am only working with Page Objects which makes it pretty straightforward to keep them inside the page object where it is used, meaning inside a class. Actually this way you are accomplishing some things that are important for successful automation projects: DRY principle (only this one class contains and cares about your xpath) Ease of use (no ...


2

Unfortunately, I don't think there is enough information to make any alternate suggestions. It would be better if the popup has some visible text that's unique enough then you can use it for identification. Also, when you say popup, do you mean A dialog box? Or, An alert? Or, A lightbox component? This is one way in which you can get to that ownerId ...


1

Don't forget Serenity aka Thycidides (http://thucydides.info/docs/serenity-staging/) It is in that sense a test management tool as it excels in creating a living test documentation for you which is also a great test report. You can use it with JBehave or Cucumber or just with plain jUnit. It depends on maven or grade to run the tests.


1

The correct way for you to answer would be something like "I'm new to Agile, so I don't really know." If you have non-Agile experience, you could expand on your answer and talk about the number of test cycles on the projects you tested. And if you have read enough about Agile to feel confident that your reading applies to this particular context, then you ...


1

This mentions this remedy for this error : If you are using the RemoteWebDriver and you get the The path to the chromedriver executable must be set by the webdriver.chrome.driver system property error message you likely need to check that one of these conditions is met: The chromedriver binary is in the system path, or The Selenium Server was ...


1

In the data provider, pass another string to indicate whether to execute the assert or not. Change your assertTrue to check for that. Something like following: @DataProvider(name = "VINNumbers") public String[][] VINNumbers() { return new String[][] { {"2T1BU4ECC834670", "true" }, {"1GKS2JKJR543989", "false" }, ...


1

Joe is absolutely correct. Imagine you have been given a duty to prepare a tea. You have been given a tea pan, and the ingredients to make tea (water,sugar, milk, tea leaves, and some ginger as well ). All these ingredients are from different brands. Consider the tea as your end product and the ingredients to be the various components which will allow you ...


1

You can enhance your java-Testdriver scripts by datadriven ability. With such, you can do much more tests with single script. Disadvantage is, you have to think about maintain datasets for different tests. Datadriven testing is followed by technology leaders as Tosca Testsuite. Another thing you can try with Selenium is mastering Xpath to make better and ...


1

FDM has the right idea. Since his example is C#, I thought I'd provide a Java equivalent: /* * Returns true if the at least one element is found. * If none are found, a list of size 0 is found. */ public boolean doesElementExist(String id) { return driver.findElements(By.id(id)).size() != 0; } This example is very basic and doesn't try waiting for ...


1

According to the official documentation, findElement should not be used to look for non-present elements, use findElements(By) and assert zero length response instead. It's easy to put that in a wrapper method, and temporarily reduce the implicit waiting time to a very low number. An example in C#, kind of: public static bool ...


1

Slightly different approach, this worked for me @AfterMethod public void writeResult(ITestResult result) { try { if(result.getStatus() == ITestResult.SUCCESS) { //Do your excel writing stuff here } else if(result.getStatus() == ITestResult.FAILURE) { ...


1

I am not sure Selenium is the right tool to test JSON API's. JSON Viewer: But you could add a JSON viewer extention to the browser: Chrome: https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=en Firefox: https://addons.mozilla.org/en-us/firefox/addon/jsonview/ Internet Explorer: ...


1

I can tell you the approach, because we have we used similar thing in our project but not with Selenium. I think this will work with Selenium too. First you need to open the text file in browser (Firefox) using Selenium (this can be done, launch browser and set the navigation URL which should be the path of that text file) and then move your focus to that ...


1

I do. I use Python. In page object, I use dictionary to map locator names to locator values. So even if locator value changes, its name stays same. To fill the form, I create good old Dictionary, mapping locator names to values to be filled. Sometimes page fields needs to be filled in exact order, in that case I use Ordered Dictionary. Base page (from ...


1

If you can alter your approach to include a configuration method using @AfterMethod, then you can pass in a paramater for ITestResult, which holds the results for the most recently completed test method. That class has a method called getStatus() that will give you the status of that test. Here's an example of how to use this: @AfterMethod public void ...


1

Yes, it makes sense. To quote Martin Fowler in http://martinfowler.com/bliki/PageObject.html, Despite the term "page" object, these objects shouldn't usually be built for each page, but rather for the significant elements on a page. So a page showing multiple albums would have an album list page object containing several album page objects. There would ...


1

There are two sides of your question which I am interpreting (and may be I am wrong), but this is how I see it : You can choose your language based on the ease of learning. You can choose your language based on the support for that particular implementation. Let's talk about first- I have used both Python and Java implementations and I agree with Peter, ...



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