ContributionsMost RecentMost LikesSolutionsUser interface appear broken throughout the app This thing is AFU. I had problems with it on a mac book a couple of years back so I switched back to a windows laptop after being told that mac doesn't get the attention. Now if I bring up any menu, it takes at least 3 tries to get it to appear on the same monitor let alone window. The grid support for ordering your user defined properties, are hit or miss as to your ability to order your list using the up and down arrows provided. Don't even think about selecting the checkbox to actually select your table item because then it disabled the up and down arrow controls. ...the list goes on. The product seems to be devolving, and this has been going on for a while now. I just don't understand how the company can keep releasing the front end in this state. SolvedMulti Threaded Support for Functional Testing as well as Performance Testing I have 10 test cases cloned from a single test case. I execute all of them in parallel. My question is are each of the test cases running on their own unique thread or are they being multiplexed in the software, this giving the impression that each test case runs on its own thread? I have essentially the same question for the Load Test VU's setting. IS each VU running in its own unique thread. Having said that, the response times being reported back, appear to be the same. Re: Is there a supported procedure to configure a Datasource to connect to AWS Aurora DB?Will do...Re: Is there a supported procedure to configure a Datasource to connect to AWS Aurora DB? Nice! Thank you Rich. I'll report back 😉 I know that my devs are connecting directly from MySQL Workbench, so I'll bet either driver will work. Is there a supported procedure to configure a Datasource to connect to AWS Aurora DB? I'd like to connect to Aurora DB from my soapUI test case but, I'm not sure how to do it. I'm pretty confident that the MySql Driver should support the connection after reading the AWS doc. Will the test step require an aws session token like a REST teststep does? SolvedRe: Read aws secrets from ReadyAPI I Think this is what you are looking for. You'll need an http test step to follow the groovy script to actually log into AWS and retrieve secret, accesskey and token info then another groovy script to simply pick up these values and store them for use with you aws user you'll need to define in the authorization manager, and of course you'll need to use that profile on all subsequent test steps making calls to the cloud.....BTW don't be surprised if your requests fail due to a bad signature being generated by readyApi, I've had tickets in for a long time :-). You can write your own code to generate a signature if you want to give that a try Let me know how this works out. Groovy Script 1 // Import Required libraries import java.util.concurrent.TimeUnit import org.openqa.selenium.By import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.firefox.FirefoxBinary import org.openqa.selenium.firefox.FirefoxDriver import org.openqa.selenium.firefox.FirefoxDriverLogLevel import org.openqa.selenium.firefox.FirefoxOptions import org.openqa.selenium.support.ui.ExpectedConditions import org.openqa.selenium.support.ui.WebDriverWait // Define geckodriver path System.setProperty("webdriver.gecko.driver","C:\\SoapUI\\Drivers\\geckodriver.exe") // Define closures def query_string_to_map = { it.tokenize('&').collectEntries { it.split('=', 2).collect { URLDecoder.decode(it, 'UTF-8') } } } def map_to_query_string = { it.collect { k, v -> "$k=${URLEncoder.encode(v.toString())}" }.join('&') } // Define vars def username = context.expand( '${#Project#contactNameQaone}' ) // qaone@newforming.com def password = context.expand( '${#Project#password}' ) // $56&pass def clientId = context.expand( '${#Project#clientId}' ) def redirectUri = context.expand( '${#Project#redirectUri}' ) def signInTitle = context.expand( '${#Project#signInTitle}' ) def passwordInputId = context.expand( '${#Project#passwordInputId}' ) def submitButtonId = context.expand( '${#Project#submitButtonId}' ) def staySignedInButtonId = context.expand( '${#Project#staySignedInButtonId}' ) def authorizeUrl = context.expand( '${#Project#authorizeUrl}' ) // Builds the authorizeUrl if not yet defined if (!authorizeUrl) { String url = 'login.microsoftonline.com' String path = 'common/oauth2/authorize' def params = [ tenant : 'common', nonce : 'nonce01234', response_mode: 'query', redirect_uri : redirectUri, response_type: 'id_token code', access_type : 'offline', client_id : clientId ] String query_string = map_to_query_string(params) authorizeUrl = "https://${url}/${path}?${query_string}" } authorizeUrl += "&login_hint=${username}" log.info('Getting authentication token') log.info 'Authorize URL: ' + authorizeUrl FirefoxBinary firefoxBinary = new FirefoxBinary() //firefoxBinary.addCommandLineOptions("--headless") FirefoxOptions firefoxOptions = new FirefoxOptions() firefoxOptions.setLogLevel(FirefoxDriverLogLevel.INFO) firefoxOptions.setBinary(firefoxBinary) FirefoxDriver driver = new FirefoxDriver(firefoxOptions) //driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get(authorizeUrl) WebDriverWait wait = new WebDriverWait(driver, 30) wait.until(ExpectedConditions.titleIs(signInTitle)) WebElement passwordInput = driver.findElement(By.id(passwordInputId)) passwordInput.sendKeys(password) WebElement submitButton = driver.findElement(By.id(submitButtonId)) submitButton.click() sleep (2000) if (driver.findElements(By.id(staySignedInButtonId)).size() > 0) { log.debug('Clicking "Yes" on "Stay Signed in?" prompt') driver.findElement(By.id(staySignedInButtonId)).click() } // String redirect_url = driver.getCurrentUrl() log.info 'Redirect URL: ' + redirect_url driver.quit() def query_map = query_string_to_map(new URL(redirect_url.replace('#', '?')).query) String id_token = query_map.id_token String code = query_map.code log.info 'idToken: ' + id_token log.info 'code: ' + code testRunner.testCase.setPropertyValue( "idToken", id_token ) testRunner.testCase.setPropertyValue( "code", code ) Groovy Script 2 /// Import AWS credentials from HTTP POST import java.lang.*; import java.security.*; import javax.crypto.*; import javax.crypto.spec.SecretKeySpec; def accessKeyId = context.expand( '${HTTP Retrieve AWS Credentials#Response#$[\'accessKeyId\']}' ) def secretAccessKeyId = context.expand( '${HTTP Retrieve AWS Credentials#Response#$[\'secretAccessKey\']}' ) def sessionToken = context.expand( '${HTTP Retrieve AWS Credentials#Response#$[\'sessionToken\']}' ) def signatureScope = context.expand( '${HTTP Retrieve AWS Credentials#Response#$[\'signatureScope\']}' ) def expiration = context.expand( '${HTTP Retrieve AWS Credentials#Response#$[\'expiration\']}' ) def serviceName = context.expand( '${#TestCase#serviceName}' ) testRunner.testCase.setPropertyValue( "accessKeyId", accessKeyId ) testRunner.testCase.setPropertyValue( "secretAccessKeyId", secretAccessKeyId ) testRunner.testCase.setPropertyValue( "sessionToken", sessionToken ) testRunner.testCase.setPropertyValue( "signatureScope", signatureScope ) testRunner.testCase.setPropertyValue( "serviceName", serviceName ) Re: Version 3.1 Deleted My Test Case Custom Properties I can't reproduce it so there isn't much point. If they are watching the boards they will see that both you and I had similarly related issues. Hopefully others with respond with a reproducible scenario. Re: Version 3.1 Deleted My Test Case Custom Properties I tried recreating the same scenario in v2.7 for a different project but everything moved over fine when opened in v3,2. I may go back today and try again using the same project but I'm getting the feeling that this might be one of those first and only time things that happens to the project once you save it or open it under the new version. Those are weird bugs but do happen from time to time....just a guess on my part. Re: Version 3.1 Deleted My Test Case Custom Properties This isn't an issue pertaining to my use or non-use of GIT. This is an issue (potentially) caused by upgrading to a newer version and it makes sense since they eliminated the standalone environment console. Version 3.1 Deleted My Test Case Custom Properties I didn't want to upgrade to the new look and feel of Ready API version 3.x just yet although I had installed v3.1. I had previously been working in version 2.7 and I make extensive use of the Environments Console. I returned to Ready Api after a few months of manual testing helping out another team. I mistakenly logged into version 3.1. First thing I noticed was that I couldn't locate the Environments console, but then I figured out that they had integrated the configuration into the active page depending upon the user select environment server from the dropdown. At any rate I ran my groovy script that logs me into Azure and AWS and it failed complaining about a missing value in the body of the request that I provide called "client_id". I looked in my script and the client_id along with several other values are imported from the test case custom properties. Here is my problem, all of the custom properties at the test case level are gone. I tried to go back and verify in v2.7 but the project got saved upon closing ready_api so I couldn't verify it. I think its the new integration that introduced a defect. Has anyone else encountered this? Solved