计算器的单元测试dome

通过上一篇文章,Appium环境已经搭建好了,下面我们通过Python脚本来测试原生的计算器程序

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

需要安装Android模拟器,这里使用sdk自带的模拟器

双击SDK目录下的 SDK Manager.exe,进行下载 API19

下载好之后 双击SDK目录下的 AVD Manager.exe 创建下载好的模拟器,点击Create 按钮

创建好之后,Start就好了

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

需要安装Appium Client

cmd打开window控制台:pip install Appium-Python-Client

 

启动Appium,点击左上角安卓机器人,设置相关信息,如下:

点击右上角黑色三角形图标,启动Appium.

-->打开cmd  输入  adb devices -l    得到模拟器的 deviceName

--> 打开cmd 输入  adb logcat -v time -s ActivityManager 获得被测程序 appPackage  appActivity 

 

 1 # encoding:utf-8
 2 import unittest
 3 from appium import webdriver
 4 import time
 5 
 6 """
 7 这是一个计算器的单元测试脚本
 8 """
 9 
10 class MyTestCase(unittest.TestCase):
11     #脚本初始化,获取操作实例
12     def setUp(self):
13         desired_caps = {}
14         desired_caps['platformName'] = 'Android' #指定Android平台
15         desired_caps['platformVersion'] = '4.4'
16         desired_caps['deviceName'] = 'emulator-5554' #上面已有讲解
17         desired_caps['appPackage'] = 'com.android.calculator2' #被测程序包名
18         desired_caps['appActivity'] = '.Calculator'
19         desired_caps['unicodeKeyboard'] = 'True' #指定键盘编码
20         desired_caps['resetKeyboard'] = 'True'
21         self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
22 
23 
24     def test_something(self):
25         """
26         1+2=3 的单元测试
27         :return:
28         """
29         number1 = self.driver.find_element_by_id("digit1").click() #定位按钮1并点击
30         number_add = self.driver.find_element_by_id("plus").click() #定位按钮 + 并点击
31         number2 = self.driver.find_element_by_id("digit2").click() #定位按钮2并点击
32         number_equal = self.driver.find_element_by_id("equal").click() #定位按钮等于号(=)并点击
33         try:
34             result = self.driver.find_element_by_class_name("android.widget.EditText").text
35             self.assertEqual(result,u"3")
36         except Exception:
37             print "Experiment Result Error"
38             self.fail()
39 
40     def tearDown(self):
41         self.driver.quit()
42 
43 if __name__ == '__main__':
44     unittest.main()

 

posted @ 2017-03-19 22:40  Evies  阅读(407)  评论(0编辑  收藏  举报