Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange
5

Classic testing is Quality Assurance Agile Testing is Quality Engineering Quality Assurance Traditionally most testing as done at the end of the development. It asks if the product that has been developed meets the requirements, both explicit and implicit. Quality Engineering This field is primarily concerned about automation and automated tests. It ...


4

You should consider to keep them simple and use any data for analysis during the timebox to see where to explore next. The charter is just a mission to get you started, not a detailed work assignment and reporting tool. I like the format ckenst proposes in his writing exploratory charters: How to Write Exploratory Charters This is based on "A simple ...


3

You can use the following code wherever you feel to add wait. Thread.sleep(1000); //Enter your desired wait interval in milliseconds


3

The cleanest way is to create an aspect before the Exception is thrown and deal with it: public aspect ExceptionLoggingAspect { before (NullPointerException e): handler(Exception+) && args(e) { System.err.println("Caught by aspect: " + e.toString()); e.printStackTrace(); } } More details here. The alternative is not change ...


3

In my case, I am already using a CSV file to fill data. So I made logic to add multiple files using the CSV file which I was using to add data (Form Filling). Each Form filling data is stored in a row, so to fill new form I jumped to the next row and filled the form. So to add multiple files in a single form I added file paths like form data in a single row....


3

When IDs are dynamic (frequently database IDs) you can use the following strategies (listed in preferred order) to locate the element: Add data attributes to existing elements in the source, e.g. data-product='first' Add additional elements and/or attributes (e.g. name=) as fixed identifiers to the source Use text content to identify the element Use the ...


3

Recently been in similar situation and after analysis found an interesting co- relation of bugs found. The result of the analysis was bugs hide in clusters mostly in few specific areas only. In other words bugs are not scattered all across the application but mostly exist in clusters in few area only. So instead of mapping 1 to 1 to each production ...


3

It depends who you are looking for, what skills your team needs. In my experience soft skills are much harder to learn then technical skills. Especially if you start to learn those later in your career. One of prominent example Linus Torvalds. I always choose people who are willing to learn new things(I test it) and who know difference between good and bad....


3

In my point of view, the communication skill is more important than technical skills, if a person has a lot of technical knowledge but does not know how to express or communicate with others is merely waste. Because he doesn't know how to express his thoughts or how to enable others to understand his thoughts and the person who has communication skills can ...


3

It depends, mainly on the current skill gaps of the team. I would map them, before you make an decision. You could try the Agile Skills Project as it covers all needed skills for a software engineering team. Technical skills are becoming more important for Testers. I believe we can teach technical skills to everyone who is smart, but not everyone enjoys ...


2

I think that the parameters you have stated should be definitely included along with the people that will participate in the session (testers or managers) and the certain areas on which the session would focus. I really liked the explanation offered on this exploratory testing for optimum coverage resource.


2

Should software test automation projects echo the structure of the application in test? If "Echo" means to follow the same structure as the project from a code perspective (e.g. have package structure matching the application code) then no, not necessarily. If "Echo" means to model the application effectively - then yes, that can be very helpful. For ...


2

Automation is about writing code. It therefore can (and should) be as complicated or simple as need for the purpose it is needed. Generally a more complex application, for instance one with many workflows, a mixture of JavaScript frameworks and long and detailed forms will generally require more effort and more programming approaches, such as the use of ...


2

Should an automated testing project be created complex as much as software being developed? Probably, I would handle test-code the same as production-code. It should be as complex as it needs to be. It should be just as maintainable and understandable. Upto what extent a software automation project use these services and modules etc techniques? When ...


2

Per the docs https://webdriver.io/docs/timeouts.html Session Implicit Wait Timeout A session has an associated session implicit wait timeout that specifies a time to wait for the implicit element location strategy when locating elements using the findElement or findElements commands (respectively $ or $$ when running WebdriverIO with or without wdio ...


2

It depends on what you are trying to do. driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); Will stop your tests from failing if elements don't immediately appear on the page, with it waiting up to 10 seconds to find them. However click events will fire off immediately upon the element being found, not necessary when they are actually ...


2

Perform a load-test on the website: Write a load-test script Ramp-up users from 1 to 200 Let them click around the website with the script Monitor Response times Error on backend and frontend CPU/Memory/Disk usage If the response times stays the same for all users, or at-least comfortably low, it probably will be fine. If your script doesn't have a wait ...


1

It depends It depends on your system functionality, your current test case coverage, your current test type allocation (based on the testing pyramid and the Agile Testing Quadrants Your basic choice is always: Update an existing unit/integrated/UI tests or create a new unit/integrated/UI test. Yo should do that in the following order which prioritizes ...


1

There isn't a contains() option for CSS, but you do still have: Starts With ^= Ends with $= e.g. By element = By.cssSelector("div[class^='logo-name']"); = Will match anything that starts with "logo-name". So you can usually make use of that to still find the element (as it's likely you know the start or end and are just trying to find an element that ...


1

When there really is no better way, you can always find all elements and search for the text driver.findElements(By.cssSelector("button")).stream() .filter(e -> e.getText().contains("search text")) .findFirst();


1

There is no CSS way to find an element by its text, unless you inject jQuery into the page. Personally I do not see any issue with using XPaths to find elements containing a text. I would consider adding classes or id's to the elements you are trying to find. For the button part, I think you are looking to find childs within a CSS query: div:contains('...


1

Well, I found this link, that helped...I didn't know that my visual studio project that has mstest installed as a package included with it, did not know where the testadapter was located. https://social.msdn.microsoft.com/Forums/vstudio/en-US/f44db2d5-61ae-428b-8412-5a3fc739daf7/vstestconsoleexe-not-discovering-any-of-the-tests?forum=vstest had to add /...


1

You can check that the text-overflow is not ellipsis with WebDriver/Selenium. In Python: assert element.value_of_css_property("text-overflow") != "ellipsis" in Java: element.getCssValue("text-overflow") https://seleniumhq.github.io/selenium/docs/api/dotnet/html/M_OpenQA_Selenium_IWebElement_GetCssValue.htm


1

Generally null pointer exception is thrown when you try to use an object reference with null value. Here you get exception in line number 70 of LoginPageTest.java. Make sure that you use an object that has a proper reference. Paste the code snippet here to get a better understanding.


1

You can run your Java application in debug mode in your favourite IDE and listen for NullPointerExceptions. For instance, in Intellij that would be: Run | View Breakpoints | Exception Breakpoints. You can find more here.


1

There are multiple ways, it depends on you which one you want to use: If dropdown actions are one after another: List<WebElement> element= driver.findElements(By.id("xyz")); for(WebElement value : element) { value.click(); } If performing some actions between them: driver.findElement(By.xpath(".//select[@id='xyz'][1]")).click(); Here [1] is ...


1

You should always be able discuss making the application more testable. Even better might be to pair implement the test with a developer, so they can feel the struggles. In agile teams creating enough test coverage is a shared responsibility. Working closer with developers is a must in my book, but also letting them implement and maintain end-2-end tests as ...


1

It’s easy with sendKeys method to upload multiple file in one go. Just put a new line character “\n ” between your files. See below sample code. WebElement inputElement = driver.findElement(By.xpath("xpath of input element")); String uploadFilePath = "C:/myfile.txt"; String uploadFilePath2 = "C:/myfile2.txt"; String uploadFilePath3 = "C:/myfile3.txt"; ...


1

Sounds like deflection of their own inability As a product owner, their core function is to know what is most import based on the stakeholders input for teams to work on. If they cannot prioritize the product(s), and their respective defects, that they are responsible for, then I wonder what they are doing with their time. If they need more time to do ...


1

Whenever Id's are dynamic then CSS selector is the best way to locate an element, but if you want to use Xpath then you can use Dynamic Xpath methods like:- Using single attribute (//tagname[@attribute-name = 'value']). Using multiple attribute (//tagname[@attribute-name1 = 'value1'][@attribute-name2='value2']). Using contains method (//tagname[...


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