|
17 | 17 | import json |
18 | 18 | from time import sleep |
19 | 19 |
|
| 20 | +from selenium.common.exceptions import NoSuchElementException |
| 21 | + |
20 | 22 | from appium import webdriver |
21 | 23 | import desired_capabilities |
22 | 24 |
|
@@ -53,47 +55,6 @@ def test_current_activity(self): |
53 | 55 | activity = self.driver.current_activity |
54 | 56 | self.assertEqual('.ApiDemos', activity) |
55 | 57 |
|
56 | | - def test_set_value(self): |
57 | | - el = self.driver.find_element_by_class_name('android.widget.ListView') |
58 | | - js_params = {'element': el.id, 'text': "Views"} |
59 | | - self.driver.execute_script("mobile: scrollTo", js_params) |
60 | | - |
61 | | - el = self.driver.find_element_by_name('Views') |
62 | | - el.click() |
63 | | - |
64 | | - el = self.driver.find_element_by_name('Auto Complete') |
65 | | - el.click() |
66 | | - |
67 | | - el = self.driver.find_element_by_name('4. Contacts') |
68 | | - el.click() |
69 | | - |
70 | | - el = self.driver.find_element_by_class_name('android.widget.EditText') |
71 | | - self.driver.set_value(el, 'Isaac') |
72 | | - |
73 | | - text = el.get_attribute('text') |
74 | | - self.assertEqual('Isaac', text) |
75 | | - |
76 | | - def test_element_set_value(self): |
77 | | - el = self.driver.find_element_by_class_name('android.widget.ListView') |
78 | | - js_params = {'element': el.id, 'text': "Views"} |
79 | | - self.driver.execute_script("mobile: scrollTo", js_params) |
80 | | - |
81 | | - el = self.driver.find_element_by_name('Views') |
82 | | - el.click() |
83 | | - |
84 | | - el = self.driver.find_element_by_name('Auto Complete') |
85 | | - el.click() |
86 | | - |
87 | | - el = self.driver.find_element_by_name('4. Contacts') |
88 | | - el.click() |
89 | | - sleep(SLEEPY_TIME) |
90 | | - |
91 | | - el = self.driver.find_element_by_class_name('android.widget.EditText') |
92 | | - el.set_value('Isaac') |
93 | | - |
94 | | - text = el.get_attribute('text') |
95 | | - self.assertEqual('Isaac', text) |
96 | | - |
97 | 58 | def test_pull_file(self): |
98 | 59 | data = self.driver.pull_file('data/local/tmp/strings.json') |
99 | 60 | strings = json.loads(data.decode('base64', 'strict')) |
@@ -157,6 +118,36 @@ def test_reset(self): |
157 | 118 | el = self.driver.find_element_by_name('App') |
158 | 119 | self.assertIsNotNone(el) |
159 | 120 |
|
| 121 | + def test_open_notifications(self): |
| 122 | + self.driver.find_element_by_android_uiautomator('new UiSelector().text("App")').click() |
| 123 | + self.driver.find_element_by_android_uiautomator('new UiSelector().text("Notification")').click() |
| 124 | + self.driver.find_element_by_android_uiautomator('new UiSelector().text("Status Bar")').click() |
| 125 | + |
| 126 | + self.driver.find_element_by_android_uiautomator('new UiSelector().text(":-|")').click() |
| 127 | + |
| 128 | + self.driver.open_notifications() |
| 129 | + sleep(1) |
| 130 | + self.assertRaises(NoSuchElementException, \ |
| 131 | + self.driver.find_element_by_android_uiautomator, 'new UiSelector().text(":-|")') |
| 132 | + |
| 133 | + els = self.driver.find_elements_by_class_name('android.widget.TextView') |
| 134 | + # sometimes numbers shift |
| 135 | + title = False |
| 136 | + body = False |
| 137 | + for el in els: |
| 138 | + text = el.text |
| 139 | + if text == 'Mood ring': |
| 140 | + title = True |
| 141 | + elif text == 'I am ok': |
| 142 | + body = True |
| 143 | + self.assertTrue(title) |
| 144 | + self.assertTrue(body) |
| 145 | + |
| 146 | + self.driver.keyevent(4) |
| 147 | + sleep(1) |
| 148 | + self.driver.find_element_by_android_uiautomator('new UiSelector().text(":-|")') |
| 149 | + |
160 | 150 |
|
161 | 151 | if __name__ == "__main__": |
162 | | - unittest.main() |
| 152 | + suite = unittest.TestLoader().loadTestsFromTestCase(AppiumTests) |
| 153 | + unittest.TextTestRunner(verbosity=2).run(suite) |
0 commit comments