1515import unittest
1616from time import sleep
1717
18- import desired_capabilities
1918from appium import webdriver
2019from appium .webdriver .applicationstate import ApplicationState
20+ from appium .webdriver .common .mobileby import MobileBy
21+ from helper import desired_capabilities
2122
2223
2324class AppiumTests (unittest .TestCase ):
@@ -38,7 +39,7 @@ def test_lock(self):
3839
3940 def test_screen_record (self ):
4041 self .driver .start_recording_screen ()
41- sleep (5 )
42+ sleep (10 )
4243 result = self .driver .stop_recording_screen ()
4344 self .assertTrue (len (result ) > 0 )
4445
@@ -70,11 +71,9 @@ def test_toggle_touch_id_enrollment(self):
7071 self .driver .toggle_touch_id_enrollment ()
7172
7273 def test_hide_keyboard (self ):
73- el = self .driver .find_element_by_name ('Uses of UITextField' )
74- el .click ()
74+ self ._move_to_textbox ()
7575
76- # get focus on text field, so keyboard comes up
77- el = self .driver .find_element_by_class_name ('UIATextField' )
76+ el = self .driver .find_elements_by_class_name ('XCUIElementTypeTextField' )[0 ]
7877 el .set_value ('Testing' )
7978
8079 el = self .driver .find_element_by_class_name ('UIAKeyboard' )
@@ -85,11 +84,9 @@ def test_hide_keyboard(self):
8584 self .assertFalse (el .is_displayed ())
8685
8786 def test_hide_keyboard_presskey_strategy (self ):
88- el = self .driver .find_element_by_name ('Uses of UITextField' )
89- el .click ()
87+ self ._move_to_textbox ()
9088
91- # get focus on text field, so keyboard comes up
92- el = self .driver .find_element_by_class_name ('UIATextField' )
89+ el = self .driver .find_elements_by_class_name ('XCUIElementTypeTextField' )[0 ]
9390 el .set_value ('Testing' )
9491
9592 el = self .driver .find_element_by_class_name ('UIAKeyboard' )
@@ -100,11 +97,9 @@ def test_hide_keyboard_presskey_strategy(self):
10097 self .assertFalse (el .is_displayed ())
10198
10299 def test_hide_keyboard_no_key_name (self ):
103- el = self .driver .find_element_by_name ('Uses of UITextField' )
104- el .click ()
100+ self ._move_to_textbox ()
105101
106- # get focus on text field, so keyboard comes up
107- el = self .driver .find_element_by_class_name ('UIATextField' )
102+ el = self .driver .find_elements_by_class_name ('XCUIElementTypeTextField' )[0 ]
108103 el .set_value ('Testing' )
109104
110105 el = self .driver .find_element_by_class_name ('UIAKeyboard' )
@@ -117,33 +112,31 @@ def test_hide_keyboard_no_key_name(self):
117112 self .assertFalse (el .is_displayed ())
118113
119114 def test_is_keyboard_shown (self ):
120- self .assertFalse (self .driver .is_keyboard_shown ())
121- el = self .driver .find_element_by_name ('Uses of UITextField' )
122- el .click ()
115+ self ._move_to_textbox ()
123116
124- # get focus on text field, so keyboard comes up
125- el = self .driver .find_element_by_class_name ('UIATextField' )
117+ el = self .driver .find_elements_by_class_name ('XCUIElementTypeTextField' )[0 ]
126118 el .set_value ('Testing' )
127119 self .assertTrue (self .driver .is_keyboard_shown ())
128120
129121 def test_clear (self ):
130- # Click text fields
131- self .driver .find_element_by_accessibility_id ('TextFields' ).click ()
122+ self ._move_to_textbox ()
123+
124+ el = self .driver .find_elements_by_class_name ('XCUIElementTypeTextField' )[0 ]
132125
133126 # Verify default text
134- def_text = '<enter text> '
135- text = self . driver . find_element_by_accessibility_id ( 'Normal' ) .get_attribute ('value' )
127+ def_text = 'Placeholder text'
128+ text = el .get_attribute ('value' )
136129 self .assertEqual (text , def_text )
137130
138131 # Input some text, verify
139132 input_text = 'blah'
140- self . driver . find_element_by_accessibility_id ( 'Normal' ) .send_keys (input_text )
141- text = self . driver . find_element_by_accessibility_id ( 'Normal' ) .get_attribute ('value' )
133+ el .send_keys (input_text )
134+ text = el .get_attribute ('value' )
142135 self .assertEqual (text , input_text )
143136
144137 # Clear text, verify
145- self . driver . find_element_by_accessibility_id ( 'Normal' ) .clear ()
146- text = self . driver . find_element_by_accessibility_id ( 'Normal' ) .get_attribute ('value' )
138+ el .clear ()
139+ text = el .get_attribute ('value' )
147140 self .assertEqual (text , def_text )
148141
149142 def test_press_button (self ):
@@ -154,7 +147,15 @@ def test_press_button(self):
154147 self .assertEqual (self .driver .query_app_state (desired_capabilities .BUNDLE_ID ),
155148 ApplicationState .RUNNING_IN_FOREGROUND )
156149
150+ def _move_to_textbox (self ):
151+ el1 = self .driver .find_element_by_accessibility_id ('Sliders' )
152+ el2 = self .driver .find_element_by_accessibility_id ('Buttons' )
153+ self .driver .scroll (el1 , el2 )
154+
155+ # Click text fields
156+ self .driver .find_element_by_accessibility_id ('Text Fields' ).click ()
157+
157158
158- if __name__ == " __main__" :
159+ if __name__ == ' __main__' :
159160 suite = unittest .TestLoader ().loadTestsFromTestCase (AppiumTests )
160161 unittest .TextTestRunner (verbosity = 2 ).run (suite )
0 commit comments