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 […]