Having trouble.

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

Having trouble.

by Richard.T.Brown :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


I am trying to use the image-based testing to operate a Windows program and am having trouble.  I have a cycle table which calls my suite table, which then calls two different step tables.  I started with only one step table containing all my steps, but have split the tests apart to try to make my step tables more reusable (like I should!).  Separately, they just don't work--at some point in the second step table, I always get:
        - WARNING Unknown RECORD TYPE, SCRIPT NAME, or COMMAND in C:\safs\CLL\datapool\GrabTextLine.SDD at line 6
                  "C       , AssignClipboardVariable   , "^AttrName"
          ------  END DATATABLE: STEP TABLE: C:\safs\CLL\datapool\GrabTextLine.SDD
If I comment out the first step table, I don't get the error, which indicates to me that it is not the problem.

Suite Table (testott.std):
C       , WaitForGUI, OTT, Anchor
T       , TestOTTMove
T       , GrabTextLine, ^win = "OTT", ^comp = "Output"

Step table (testottmove.sdd)
' Rtype , Window    , Component     , Action    , Args...
' =====   ======      =========       ======      ====
C       , WaitForGUI, OTT           , Anchor
T       , OTT       , TitleBar      , Click

'T       , OTT       , Anchor        , Click
'T       , OTT       , Anchor        , InputKeys , "m"
'T       , OTT       , Anchor        , InputKeys , "{Right 3}"
'T       , OTT       , Anchor        , InputKeys , "{Up 3}"
'T       , OTT       , Anchor        , InputKeys , "{Left 3}"
'T       , OTT       , Anchor        , InputKeys , "{Down 3}"
'T       , OTT       , Anchor        , InputKeys , "{Esc}"

T       , OTT       , ObjectList    , Click
T       , OTT       , PropertyList  , DoubleClick

Step table (grabtextline.sdd):
' Rtype , Window    , Component     , Action    , Args...
' =====   ======      =========       ======      ====
T       , ^win      , ^comp        , Click
T       , ^win      , ^comp         , InputKeys , "{Home}+{Down}+{Left}^c"
T       , ^win      , ^comp         , InputKeys , "{Home}+{End}^c"
C       , AssignClipboardVariable   , "^AttrName"
C       , LogMessage, "Found Attr: " , ^AttrName


Richard T. Brown

------------------------------------------------------------------------------
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-public mailing list
safsdev-public@...
https://lists.sourceforge.net/lists/listinfo/safsdev-public

Re: Having trouble.

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.

Richard,

 

The issue here is the invocations of those Step Tables from the Suite Table.  At the Cycle and Suite Level the 3rd field of the Test (T) record is supposed to provide the field separator for the called table. 

 

The invocation of TestOTTMove works because you provide no additional data so SAFSDRIVER defaults to the current field separator—a comma:

 

T,  TestOTTMove

 

However, if you provide ANY additional information on the line you must leave room for field 3 to contain a new separator character, an empty string, or nothing, as shown below:

 

RC,  TABLE NAME  ,  FIELD SEP, ARGUMENTS

===================================

 T  ,  TestOTTMove,                     , ^anyData

 

The call to GrabTextLine does NOT provide a proper separator field. 

 

T       , GrabTextLine, ^win = "OTT", ^comp = "Output"

In fact, as shown above, the record actually says that GrabTextLine uses a field separator of “OTT” (^win=”OTT”).  Thus, in reality, I’m guessing that not a single record in that last table is ever properly interpreted.

 

The correct call for that record to invoke GrabTextLine should be as shown below.  Note the 2 back-to-back commas for the 3rd field:

 

T  , GrabTextLine ,, ^win = "OTT", ^comp = "Output"

Here is a doc that (hopefully) sheds more light on the file formats for each test level:

 

http://sourceforge.net/docman/display_doc.php?docid=17266&group_id=56751

 

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-public mailing list
safsdev-public@...
https://lists.sourceforge.net/lists/listinfo/safsdev-public

Re: Having trouble.

by Richard.T.Brown :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Thanks, Carl.  That did it.  Figured it was something simple, but just couldn't see it.

Richard T. Brown
Principal Engineer
JOHNSON CONTROLS INC.
System Products
Louisville Design Center
Voice:  (502) 671-7411
Fax:  (502) 671-7386

"...It's like when you go to the hardware store looking for a drill. What you really want is not a drill but a hole. And why do you want the hole?" --Amory Lovins (Rocky Mountain Institute)
"One test is worth a thousand expert opinions." - Bill Nye (The Science Guy)



Carl Nagle <Carl.Nagle@...>

08/11/2009 09:57 AM
Please respond to
Keyword Driven Software Automation Framework Support        <safsdev-public@...>

To
Keyword Driven Software Automation Framework Support <safsdev-public@...>
cc
Subject
Re: [safs-public] Having trouble.





Richard,
 
The issue here is the invocations of those Step Tables from the Suite Table.  At the Cycle and Suite Level the 3rd field of the Test (T) record is supposed to provide the field separator for the called table.  
 
The invocation of TestOTTMove works because you provide no additional data so SAFSDRIVER defaults to the current field separator—a comma:
 
T,  TestOTTMove
 
However, if you provide ANY additional information on the line you must leave room for field 3 to contain a new separator character, an empty string, or nothing, as shown below:
 
RC,  TABLE NAME  ,  FIELD SEP, ARGUMENTS
===================================
 T  ,  TestOTTMove,                     , ^anyData
 
The call to GrabTextLine does NOT provide a proper separator field.  
 
T       , GrabTextLine, ^win = "OTT", ^comp = "Output"

In fact, as shown above, the record actually says that GrabTextLine uses a field separator of “OTT” (^win=”OTT”).  Thus, in reality, I’m guessing that not a single record in that last table is ever properly interpreted.
 
The correct call for that record to invoke GrabTextLine should be as shown below.  Note the 2 back-to-back commas for the 3rd field:
 
T  , GrabTextLine ,, ^win = "OTT", ^comp = "Output"

Here is a doc that (hopefully) sheds more light on the file formats for each test level:
 
http://sourceforge.net/docman/display_doc.php?docid=17266&group_id=56751
 
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-public mailing list
safsdev-public@...
https://lists.sourceforge.net/lists/listinfo/safsdev-public


------------------------------------------------------------------------------
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-public mailing list
safsdev-public@...
https://lists.sourceforge.net/lists/listinfo/safsdev-public