7. two-minute tour of
Frank
UI automation tool for native iOS
apps - “WebDriver for iOS”
Write your tests using the language
and tooling you want
integrate with CI
powerful view-selection facilities
explore a running app with symbiote
Thursday, November 1, 12
14. Test Scripts
Automation Phone
Driver
Thursday, November 1, 12
15. Test Scripts
Automation Phone
Driver
...
...
type_into_text_field( ‘username’, user )
type_into_text_field( ‘password’, pass )
touch “button marked:‘Login’”
wait_for_element_to_exist(
“loginBanner marked:‘Welcome #{user}’”
)
...
...
Thursday, November 1, 12
16. Test Scripts
Hard to
Read! Automation
Driver
Phone
...
...
type_into_text_field( ‘username’, user )
type_into_text_field( ‘password’, pass )
touch “button marked:‘Login’”
wait_for_element_to_exist(
“loginBanner marked:‘Welcome #{user}’”
)
...
...
Thursday, November 1, 12
17. !
Test Scripts
gi l e Automation
Driver
Phone
Fr a
...
...
type_into_text_field( ‘username’, user )
type_into_text_field( ‘password’, pass )
touch “button marked:‘Login’”
wait_for_element_to_exist(
“loginBanner marked:‘Welcome #{user}’”
)
...
...
Thursday, November 1, 12
18. N o s
on
Test Scripts
t ra c ti Automation Phone
s
Driver
Ab
...
...
type_into_text_field( ‘username’, user )
type_into_text_field( ‘password’, pass )
touch “button marked:‘Login’”
wait_for_element_to_exist(
“loginBanner marked:‘Welcome #{user}’”
)
...
...
Thursday, November 1, 12
19. Test Scripts
Automation Phone
Driver
Thursday, November 1, 12
20. the
Page Object
Pattern
Thursday, November 1, 12
21. Test Scripts
Automation Phone
Driver
Thursday, November 1, 12
22. Test Scripts
Page Automation Phone
Objects Driver
Thursday, November 1, 12
23. Test Scripts
Page Automation Phone
Objects Driver
Thursday, November 1, 12
24. Test Scripts
class HomeScreen
Page Automation Phone
Driver
def login(user,pass)Objects
type_into_text_field( ‘username’, user )
type_into_text_field( ‘password’, pass )
touch “button marked:‘Login’”
end
def verify_logged_in_as(user)
wait_for_element_to_exist(
“loginBanner marked:‘Welcome #{user}’”
)
end
end
Thursday, November 1, 12
26. Test Scripts
Page Automation Phone
Objects Driver
User Tech
Thursday, November 1, 12
27. Cross-platform
testing
for mobile
Thursday, November 1, 12
28. Cross-platform
testing
for mobile
Thursday, November 1, 12
29. Cross-platform
testing
for mobile
Thursday, November 1, 12
30. Test Scripts
Page Automation Phone
Objects Driver
Thursday, November 1, 12
31. Test Scripts
Page Automation Phone
Objects Driver
Thursday, November 1, 12
32. Test Scripts
iPhone-specific
‘stuff’
Thursday, November 1, 12
33. Test Scripts
iPhone-specific
‘stuff’
Thursday, November 1, 12
34. Test Scripts
iPhone-specific
‘stuff’
Thursday, November 1, 12
35. Test Scripts
iPhone-specific
‘stuff’
Web-specific
‘stuff’
Thursday, November 1, 12
36. Test Scripts class HomeScreen
def login(user,pass)
#iPhone-specific GOES HERE
WEBDRIVER STUFF
end
‘stuff’
def verify_logged_in_as(user)
Web-specific
# MORE WEBDRIVER STUFF
end ‘stuff’
end
Thursday, November 1, 12
37. same
interface
Test Scripts class HomeScreen
def login(user,pass)
#iPhone-specific GOES HERE
WEBDRIVER STUFF
end
‘stuff’
def verify_logged_in_as(user)
Web-specific
# MORE WEBDRIVER STUFF
end ‘stuff’
end
Thursday, November 1, 12
38. Test Scripts
iPhone-specific
‘stuff’
Thursday, November 1, 12
39. Test Scripts
iPhone-specific
‘stuff’
iPad-specific
‘stuff’
Thursday, November 1, 12
40. Test Scripts
iPhone-specific
‘stuff’
iPad-specific
‘stuff’
Thursday, November 1, 12
41. Test Scripts
iPhone-specific
‘stuff’
iPad-specific
‘stuff’
Thursday, November 1, 12