Hello Test Studio Community,
We have released a new version of Test Studio today (v2023.3.1330.1). Please update your existing installation at your earliest convenience.
You can review the Legacy Installer Vulnerability - Progress Test Studio article to learn more details about why we are recommending customers to update.
To get the new version, take the following steps:
If you have questions about your specific installation situation and would like guidance, feel free to open a Technical Support ticket here => https://prgress.co/DevToolsSupport.
Hello,
I'm trying to verify that a password displays as masked (just a bunch of dots) on a web page. Is there a way I can do this validation using Telerik?
Thank you and look forward to your response.
Hello,
I have added the code -
Log.WriteLine($"UTF-8 string: {utf8String}");
I am getting error on compilation Error CS1056 Unexpected Character $.
Please note, I am getting this error only on one of my servers. For others same code shows no compilation error.
Machine on which I am getting the error has .Net Framework 4.6 installed. Other machines where no compilation error, .Net Framework is not installed. Please confirm what shall I do to make this code work.
Is there a way in a coded step to accomplish the ELSE clause below?
LOOP (10) Times
IF element not present
Refresh to see if element becomes present
ELSE
Coded step to set for iteration to max so no more loops occur (or break out through other means without erroring)
Is there a way with a coded step to accomplish the ELSE clause above? I would like to fast-forward the LOOP iteration to the end by overriding the current iteration value with 10 once the element exists? Because of the required refresh, I can't just wait for it to exist.
I have workable solutions with both LOOP and WHILE, but both have drawbacks. The FOR doesn't require coded steps (only a simple coded step if the above ELSE is possible) but fills the log with iterations that don't do anything. The WHILE stops once my condition is met and doesn't do the excessive logging but requires far more complicated coded steps. This approach would be hard for me to teach to our test writers who, for the most part, are not code developers.
Thank you.
Sorry,
I'm having trouble getting TTS to capture an input field. It was working earlier exactly as it should. I was thinking that I did something to the Element Repository.
Do you have any documentation about modularity of tests?
Hi,
I want to run multiple projects in which one has data.I can able to execute the project with hard code data but unable to use external data between projects.
Perhaps. We will see.
I see many questions about parameterization when running test lists on the forums and they all answer one thing: "BaseURL". But I want to parameterize on several other criteria. Can I? I cannot see a way to do it. Always the answer seems to be that we should use BaseURL. We have 3 custom properties in a Test. But how many in Test List? None.
So, what to do?
Well, Telerik is telling us to use the BaseURL.
A solution is this, I use one test step for all my logins. I need to connect to http://foobar.com
My tests have:
BaseURL = "http://foobar.com"
and my test lists have this and I now have three custom settings in my Test List, or however many I want.
BaseURL = "http://foobar.com/ray_x=thing1,ray_y=thing2,ray_z=whatever".
And now, with the code below, I see this in my log when I am running from the test:
'9/9/2019 4:02:24 PM' - Using 'https://foobar.com' as base url.
'9/9/2019 4:02:24 PM' - LOG: p size = 3
'9/9/2019 4:02:24 PM' - LOG: p[0]: "https:"
'9/9/2019 4:02:24 PM' - LOG: p[1]: ""
'9/9/2019 4:02:24 PM' - LOG: p[2]: "foobar.com"
'9/9/2019 4:02:24 PM' - LOG: q size = 1
'9/9/2019 4:02:24 PM' - LOG: realUrl: "https://foobar.com"
'9/9/2019 4:02:24 PM' - LOG: paramstr: ""
And I see this in my log when I am running from my test list:
'9/9/2019 4:01:48 PM' - Using 'http://foobar.com/ray_x=thing1,ray_y=thing2,ray_z=whatever' as base url.
'9/9/2019 4:01:48 PM' - LOG: p size = 3
'9/9/2019 4:01:48 PM' - LOG: p[0]: "http:"
'9/9/2019 4:01:48 PM' - LOG: p[1]: ""
'9/9/2019 4:01:48 PM' - LOG: p[2]: "foobar.com/ray_x=100,ray_y=200"
'9/9/2019 4:01:48 PM' - LOG: q size = 2
'9/9/2019 4:01:48 PM' - LOG: realUrl: "https://foobar.com"
'9/9/2019 4:01:48 PM' - LOG: paramstr: "ray_x=thing1,ray_y=thing2,ray_z=whatever"
And the test and the test list work the same.
If I have paramStr, I split it up by commas and I am done.
And I used the BaseURL and nothing else. :--)
cheers - ray
[CodedStep(@"Navigate to : 'http://foobar.com'")]
public void MinimalLogin_CodedStep1()
{
String baseUrl = ActiveBrowser.Manager.Settings.Web.BaseUrl.ToString();
String[] sep = { "/" };
String[] p = baseUrl.Split(sep, 3, StringSplitOptions.None);
Log.WriteLine("p size = " + p.Length);
Log.WriteLine("p[0]: \"" + p[0] + "\"");
Log.WriteLine("p[1]: \"" + p[1] + "\"");
Log.WriteLine("p[2]: \"" + p[2] + "\"");
String[] q = p[2].Split(sep, 2, StringSplitOptions.None);
Log.WriteLine("q size = " + q.Length);
String realUrl;
String paramStr;
if (q.Length == 1) {
realUrl = p[0] + "//" + p[2];
paramStr = "";
}
else {
realUrl = p[0] + "//" + q[0];
paramStr = q[1];
}
Log.WriteLine("realUrl: \"" + realUrl + "\"");
Log.WriteLine("paramstr: \"" + paramStr + "\"");
ActiveBrowser.NavigateTo(realUrl + "admin.cgi", true);
}
}
ps:So, why do I need to do the split twice? If I knew the insides of th URL structure, I would know. But it works. Done and done.
Hi,
I am identifying element using Xpath which is: //a[text()='APPLICATION INDICATOR']/following-sibling::select
I want to data bing 'APPLICATION INDICATOR' with my local data column which named as 'mandatory'.
I tried following tricks but no luck:
//a[text()=$(mandatory)]/following-sibling::select
or
//a[text()=$mandatory]/following-sibling::select
or
//a[text()=mandatory]/following-sibling::select
Please help me to resolve this issue.