-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathandroid_calculator_appium.py
More file actions
64 lines (56 loc) · 2.27 KB
/
Copy pathandroid_calculator_appium.py
File metadata and controls
64 lines (56 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#android_calculator_appium.py. Run these test cases on Android 4.2
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium import webdriver
import unittest
#using Unit Test
class AndroidCalculatorTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
#need add two extra capabilities for native app, appium requires app-package and app-activity: testing will start from this activity
desired_capabilities={'browserName': 'Android',
'version': '4.2',
'platform': 'Windows"',
'app-package': 'com.android.calculator2',
'app-activity': 'com.android.calculator2.Calculator' })
#test case to test addition operation
def test_add_operation(self):
driver = self.driver
driver.find_element_by_name("2").click()
driver.find_element_by_name("+").click()
driver.find_element_by_name("4").click()
driver.find_element_by_name("=").click()
result = driver.find_element_by_tag_name("EditText").text
self.assertIn("6",result)
#test case to test substraction operation
def test_sub_operation(self):
driver = self.driver
driver.find_element_by_name("9").click()
driver.find_element_by_name("minus").click()
driver.find_element_by_name("4").click()
driver.find_element_by_name("=").click()
result = driver.find_element_by_tag_name("EditText").text
self.assertIn("5",result)
#test case to test multiplication operation
def test_mul_operation(self):
driver = self.driver
driver.find_element_by_name("9").click()
driver.find_element_by_name("multiply").click()
driver.find_element_by_name("4").click()
driver.find_element_by_name("=").click()
result = driver.find_element_by_tag_name("EditText").text
self.assertIn("36",result)
#test case to test division operation
def test_div_operation(self):
driver = self.driver
driver.find_element_by_name("9").click()
driver.find_element_by_name("divide").click()
driver.find_element_by_name("3").click()
driver.find_element_by_name("=").click()
result = driver.find_element_by_tag_name("EditText").text
self.assertIn("3",result)
def tearDown(self):
#close is not working with appium so I've used quit
self.driver.quit()
if __name__ == "__main__":
unittest.main()