A couple of questions ...

View: New views
2 Messages — Rating Filter:   Alert me  

A couple of questions ...

by Leopoldo Gonzalez :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hi guys:

I got a couple of questions and would really appreciate some guidance.

 

1.       Is there a way to setup arrays in SAFS?  I’d like to have only one DB Read and then store  them in an array for later use.  How does the SAFS framework approach this type of functionality?

2.       Can I perform some math operation on variables?  Is it possible to say ^var1 + ^var2, what command would I use?

3.       I wrote a fairly simple script that’s taking an incredible amount of time to complete (14.56 mins).  Is there a “turbo” mode or switch that would speed up the execution?  The script I wrote is your basic navigation/enter data/submit it/verify confirmation page.  I understand that because SAFS sits on top of Robot there is some delay in execution, but almost 15 minutes is a little too long; in my opinion.

4.       Is there a way to only process the MS Excel spreadsheets that have been modified and not the whole workbook?

5.       This is not a SAFS question but if you know it, it would be great.  Objects that are not visible on the screen are not available to perform events on them, I must first expose them.  Such is the case when I want to click on a button that is hidden at the bottom of the page, I’m having to issue a {^END} before I issue a click on the button.  Is there a setting in robot that allows you to click on hidden from view objects?

 

Thanks in advance.

 

Leopoldo Gonzalez

 


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
safsdev-rrafs@...
https://lists.sourceforge.net/lists/listinfo/safsdev-rrafs

Re: A couple of questions ...

by Carl Nagle :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Embedding replies…

 

From: Leopoldo Gonzalez [mailto:lgonzalez@...]
Subject: [safs-rrafs] A couple of questions ...

 

Hi guys:

I got a couple of questions and would really appreciate some guidance.

 

1.       Is there a way to setup arrays in SAFS?  I’d like to have only one DB Read and then store  them in an array for later use.  How does the SAFS framework approach this type of functionality?

 

Not true arrays.  But with Expressions ON using SetVariableValueEx and CopyVariableValueEx you can create and reference “indexed” variables like:

  Result.1,   Result.2,   Result.3, etc..

You can use looping with Driver Commands like OnLessThanGotoBlockID, etc..

EX:

C, SetVariableValues, ^index=1, ^max=10

 

B, LOOP

…call something (script or test table) that changes ^theValue

C, SetVariableValueEx, “Result.”& ^index, ^theValue,

C, SetVariableValues, ^index=^Index + 1

C, OnNotEqualGotoBlockID, LOOP, ^index, ^max

 

You can also use CopyVariableValueEx similarly

B,  LOOP

C, CopyVariableValueEx, “theValue.”& ^index, “Result.”& ^index

C, SetVariableValues, ^index=^Index + 1

C, OnNotEqualGotoBlockID, LOOP, ^index, ^max

 

Are you doing the DB Read in SAFS commands or Robot scripts? Some of the links below—like UsingDDVariables-- will help in transferring info between scripts and SAFS test tables.

 

2.       Can I perform some math operation on variables?  Is it possible to say ^var1 + ^var2, what command would I use?

 

Yes.  Expressions can be processed as long as your test turns expressions on in your test:

http://safsdev.sourceforge.net/sqabasic2000/SAFSReference.php?rt=C&lib=DDDriverCommands&cmd=Expressions

 

Some info on supported operators:

http://safsdev.sourceforge.net/sqabasic2000/StringUtilities.htm#processexpression

 

Also review:

http://safsdev.sourceforge.net/sqabasic2000/UsingDDVariables.htm

http://safsdev.sourceforge.net/sqabasic2000/CreateAppMap.htm#ddv_lookup

 

 

SetVariableValues and SetVariableValueEx

http://safsdev.sourceforge.net/sqabasic2000/SAFSReference.php?rt=C&lib=DDDriverCommands&cmd=SetVariableValues

 

http://safsdev.sourceforge.net/sqabasic2000/SAFSReference.php?rt=C&lib=DDDriverCommands&cmd=SetVariableValueEx

 

Note: there are some expression processing “anomalies” in Robot’s version of expression processing that are corrected in the SAFS version when NOT using RRAFS.

 

3.       I wrote a fairly simple script that’s taking an incredible amount of time to complete (14.56 mins).  Is there a “turbo” mode or switch that would speed up the execution?  The script I wrote is your basic navigation/enter data/submit it/verify confirmation page.  I understand that because SAFS sits on top of Robot there is some delay in execution, but almost 15 minutes is a little too long; in my opinion.

 

Ways to improve performance in Robot:

a. Disable all unneeded extensions in Tools->Extension Manager

b. Change Robot’s Tools->GUI Playback Options delays to 0, or the minimum your app can tolerate.

c. Do not use MAX_LOGMODE in your CycleDriverTest script (or equivalent).

     This writes to multiple logs including the XMLLOG. 

     If you are not using the XML log for anything then disable writing to it.

     Use TEXTLOG_ENABLED instead of MAX_LOGMODE

 

      http://safsdev.sourceforge.net/sqabasic2000/LogUtilities.htm#constants

 

     valid values for LOGMODE are listed in the constants above, and can be OR’d together:

      SQALOG_ENABLED or TEXTLOG_ENABLED or CONSOLE_ENABLED or XMLLOG_ENABLED

     Remove the unneeded values and only write to the logs you want  instead of writing to all of them.

d. If you aren’t using any SAFS features like--SDC driver commands--then you don’t have to enable SAFS.

     That may make things a little faster, but you lose those additional SAFS features.

 

4.       Is there a way to only process the MS Excel spreadsheets that have been modified and not the whole workbook?

 

Not with the current ExcelUtilities.  I’m not even sure if there are properties for each worksheet to learn which specific ones are modified or not.  If you believe there are, you might consider making that change to the library—if you feel your are up to it.

 

5.       This is not a SAFS question but if you know it, it would be great.  Objects that are not visible on the screen are not available to perform events on them, I must first expose them.  Such is the case when I want to click on a button that is hidden at the bottom of the page, I’m having to issue a {^END} before I issue a click on the button.  Is there a setting in robot that allows you to click on hidden from view objects?

 

Not that I recall.  Some component support in Robot can automatically scroll objects into view, and some cannot.  You pretty much have to evaluate that on a case-by-case basis.

 

Carl


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
safsdev-rrafs@...
https://lists.sourceforge.net/lists/listinfo/safsdev-rrafs