Changing the scope of a variable to be available within a Method

After reading the value from a dropdown, I wanted to use that piece of information for a comparison test in another part of the Test Case. That's not a problem, except that I want to use the variable within a defined Method within the test case. I've done this sort of thing before and passed the needed values to the method. The Method didn't need any parameters, so I looked for another way to make that variable more "global" in scope. Turns out this can be done using @Field The first step is to import the correct library import groovy.transform.Field From there, "flag" the corresponding variable and change it's scope. @Field String quoteBranchName quoteBranchName=allQuoteBranchesList[0] log.logWarning('The listed Branch in the quote is: ' + quoteBranchName) That variable can now be referenced within a Method defined within that same Test Case def addInventoryItem() { log.logWarning('The listed Branch in the quote is: ' + quoteBranchName) if (inventoryLocations.contains(quoteBranchName)==false){ log.logError("The Inventory Item does not match […]

Reading text of the currently selected value from a dropdown list

I was recently working on a test case where I needed to use the default value from a dropdown. For my case, I wanted to know the default location of the user. The dropdown value is set through Javascript and a query. Since it has a default, I didn't want to set it, I wanted to know what that default was. This turned out to be a little more problematic than I thought. My first attempt was to use .getAttribute which has worked for other fields. String branchLocation = WebUI.getAttribute(findTestObject('Dropdown Location'),'value') returns c6f25c57-47a7-4ae3-b269-a57567faa23f which is a GUID and can't be translated into anything I can work with. I then tried it with getText which does work, but brings back all the options available in the dropdown, not just the currently selected one. String branchLocation = WebUI.getText(findTestObject('Dropdown Location')) This returns Location #1 Location #2 Location #3 Location #4 Etc This is better, but is clearly more information than I want. All […]

Simple wildcard searches for pattern matching

For a search test I was working on, I needed to verify what was returned for the name of a warehouse location. Normally the .contains command would be used, but for this test, I needed to check for multiple criteria. I need to check the warehouse is assigned to a certain coast and contains certain city values. The warehouse could be East or West with several city names listed afterward in any given order. For example, the warehouse location could look like: String branchName="Warehouse East #585 Palm Beach, FL Charlottesville, VA Nampa, ID Charlottesville, VA" String branchName="Warehouse West Los Angeles, CA, San Francisco, CA, San Diego, CA" I want to verify "Warehouse East" is part of the text and I want to verify "Palm Beach" is in the text. Since these two strings are not next to each other and the city could appear anywhere on the line the .contains will not work in this instance. However, the .matches command […]