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)

Logo

一站式 AI 云服务平台

更多推荐