Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
948
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1
    Integrating TestComplete and Ruby
    Presented by: MykolaKolisnyk
    AUTOMATED-TESTING.INFO
  • 2. What was originally
    Win UI tests
    System tests
    Mac UI tests
    Ruby
    AQA TestComplete
    Cucumber
  • 3. Win UI tests
    System tests
    Mac UI tests
    Ruby
    ???
    Cucumber
    AQA TestComplete
    How it was supposed to be
  • 4. Main goals
    Provide common layer for all areas
    Give the ability to involve non-technical people into automation
    Provide common solution for distributed testing
    All improvements should be done smoothly (current solution should always work)
    06.02.11
  • 5. Win UI tests
    System tests
    Mac UI tests
    AQA TestComplete
    Ruby
    Cucumber
    What was decided
  • 6.
    • Get command
    • 7. Set run status
    • 8. Send results
    AQA TestComplete client
    • Store command
    • 9. Switch status
    • 10. Transfer data
    Http bridge
    Ruby client
    • Send command
    • 11. Check execution status
    • 12. Get results
    Ruby/TestComplete connection overview
  • 13. AQA TC client
    Http Bridge
    Ruby Client
    Get command
    Command
    Send command
    Set pending status
    Status
    Check status
    Run command
    Set «done» status
    Send results
    Results
    Get Results
    How it works
  • 14. TestComplete part
    06.02.11
    Wait for command
    Reset status
    Process functions
    Execute code
    Send results
    Set “done” status
  • 15. Ruby part
    06.02.11
    Verify “done” status
    Valid TC code
    Set “pending” status
    Send code to execute
    Verify completion
    Call TC code
    Get results
  • 16. Step 2: start TC client
    AQA TestComplete client
    Step 1: start bridge
    Http bridge
    Ruby client
    Step 3: start Ruby client
    How to start it
  • 17. Results in YAML format.
    Example:
    ret_val: <return value>
    errors:
    - <error message 1>
    - <error message 2>
    Get results
    AQA TestComplete client
    Transform into Ruby structure
    Http bridge
    Executable TestComplete code
    Ruby client
    Data exchange
    Fail if some errors present
  • 18. Case 2: TC crashes
    Case 1: TC request failed
    Stable communication
    Case 3: execution is pending when Ruby client starts
    Resolution:
    Resend several times until success
    Stable communication
    Resolution: Ruby client waits for some limited time to execute
    Case 4: bridge was stopped
    Resolution: Ruby client sets status into «done» at the begining
    Resolution: clients are stopped
    AQA TestComplete client
    Http bridge
    Ruby client
    Hard cases
  • 19. AQA TestComplete client
    AQA TestComplete client
    Http bridge
    Http bridge
    Target Machine 2
    Target Machine 1
    Re-initialize client with new target
    Ruby code
    Distributed execution
  • 20. Goals achievement
    06.02.11
    Win UI tests
    System tests
    Mac UI tests
    It still works
    AQA TestComplete
    Ruby
    Distributed architecture
    Common Layer
    Cucumber
    Works for non-technical people
  • 21. Alternative
    06.02.11
    Original post at:
    http://samsagiletesting.blogspot.com/2010/03/test-complete-and-ruby.html
  • 22. Why alternative doesn’t work?
    Too tight connection to TestComplete
    Dependency on system-dependend values (UID)
    Distributed solution works for Windows only
    Complex Ruby structures
    06.02.11
  • 23. Questions?
  • 24. 06.02.11
    AUTOMATED-TESTING.INFO