pythonapp自动化_app自动化测试python
1 #urs/bin/python2 #encoding:utf-83 importtime4 from appium importwebdriver5 importunittest67 classMyTestCase(unittest.TestCase):8#脚本初始化,获取操作实例9defsetUp(self):10desired_caps ={}11...
1 #urs/bin/python
2 #encoding:utf-8
3 importtime4 from appium importwebdriver5 importunittest6
7 classMyTestCase(unittest.TestCase):8 #脚本初始化,获取操作实例
9 defsetUp(self):10 desired_caps ={}11 desired_caps['platformName'] = 'Android'
12 desired_caps['platformVersion'] = '4.3'
13 desired_caps['deviceName'] = '192.168.56.101:5555'
14 #desired_caps['appPackage'] = 'com.android.calculator2'
15 #desired_caps['appActivity'] = '.Calculator'
16 #desired_caps['appPackage'] = 'com.android.customlocale2'
17 #desired_caps['appActivity'] = '.CustomLocaleActivity'
18 desired_caps['appPackage'] = 'com.example.zhangjian.minibrowser2'
19 desired_caps['appActivity'] = '.myapplication.MainActivity'
20 desired_caps["unicodeKeyboard"] = "True"
21 desired_caps["resetKeyboard"] = "True"
22 self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)23
24 #释放实例,释放资源
25 deftearDown(self):26 self.driver.quit()27
28 #测试的脚本, LOVE原则
29 '''def testAdd(self):30 #Locate 定位一个元素31 number8 = self.driver.find_element_by_id("digit8")32 # Operate 操作一个元素33 number8.click()34 # Locate 定位一个元素35 addopertion = self.driver.find_element_by_id("plus")36 # Operate 操作一个元素37 addopertion.click()38 # Locate 定位一个元素39 number5 = self.driver.find_element_by_id("digit5")40 # Operate 操作一个元素41 number5.click()42 # Locate 定位一个元素43 equal = self.driver.find_element_by_id("equal")44 # Operate 操作一个元素45 equal.click()46
47 #Verify 验证操作的结果48 result = self.driver.find_element_by_class_name("android.widget.EditText")49 value = result.text50 self.assertEqual(u"13", value)51 #Exception 处理异常的情况'''
52 deftestOtherAPI(self):53 '''elements = self.driver.find_elements_by_id("digit8")54 elements[0].click()55 time.sleep(5)56 print(len(elements))'''
57 time.sleep(3)58 #self.driver.press_keycode(8)
59 #self.driver.press_keycode(7)
60 input = self.driver.find_element_by_class_name("android.widget.EditText")61 input.send_keys("10")62
63 element = self.driver.find_element_by_accessibility_id(u"除")64 element.click()65
66 self.driver.press_keycode(12)67
68 equal = self.driver.find_element_by_id("equal")69 equal.click()70 time.sleep(5)71
72 #其他更多APIs的使用实例
73 deftestMoreAPIs(self):74 #获取元素列表
75 els = self.driver.find_elements_by_class_name('android.widget.CheckedTextView')76 #滚动API scroll 的用法
77 #self.driver.scroll(els[10], els[1])
78 #拖拽API drag_and_drop的用法
79 #self.driver.drag_and_drop(els[10], els[3])
80 #滑动API swipe的用法
81 #self.driver.swipe(100, 750, 100, 100)
82 #点击API tap的用法
83 #self.driver.tap([(100, 750)])
84
85 #快速滑动 API flick的用法
86 #self.driver.flick(100, 750, 100, 100)
87 #当前activity API current_Activity的用法
88 #print self.driver.current_activity
89 #将某一个App置于后台
90 #self.driver.background_app(3)
91 #等待指定activity显示 API wait_activity的用法
92 #print self.driver.wait_activity(".CustomLocaleActivity", 3, 1)
93
94 #判断app是否安装了
95 #print self.driver.is_app_installed("com.example.zhangjian.minibrowser2")
96 #删除app
97 #self.driver.remove_app("com.example.zhangjian.minibrowser2")
98 #安装app
99 #self.driver.install_app("/Users/zhangjian/Downloads/app-debug.apk")
100 #启动app
101 #self.driver.launch_app()
102
103 #关闭app
104 #self.driver.close_app()
105 #self.driver.launch_app()
106 #启动activity
107 self.driver.start_activity("com.example.zhangjian.minibrowser2",108 ".myapplication.NewActivity")109 time.sleep(3)110 #截屏
111 self.driver.get_screenshot_as_file("test.png")112 time.sleep(5)113
114
115 if __name__ == '__main__':116 suite =unittest.TestSuite()117 suite.addTest(MyTestCase('testMoreAPIs'))118 runner = unittest.TextTestRunner(verbosity=2)119 runner.run(suite)
更多推荐




所有评论(0)