计算器的单元测试dome

时间:2021-04-18 04:23:16

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

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

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

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

计算器的单元测试dome

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

计算器的单元测试dome

计算器的单元测试dome

创建好之后,Start就好了

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

需要安装Appium Client

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

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

计算器的单元测试dome

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

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

计算器的单元测试dome

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

 # encoding:utf-8
import unittest
from appium import webdriver
import time """
这是一个计算器的单元测试脚本
""" class MyTestCase(unittest.TestCase):
#脚本初始化,获取操作实例
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android' #指定Android平台
desired_caps['platformVersion'] = '4.4'
desired_caps['deviceName'] = 'emulator-5554' #上面已有讲解
desired_caps['appPackage'] = 'com.android.calculator2' #被测程序包名
desired_caps['appActivity'] = '.Calculator'
desired_caps['unicodeKeyboard'] = 'True' #指定键盘编码
desired_caps['resetKeyboard'] = 'True'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps) def test_something(self):
"""
1+2=3 的单元测试
:return:
"""
number1 = self.driver.find_element_by_id("digit1").click() #定位按钮1并点击
number_add = self.driver.find_element_by_id("plus").click() #定位按钮 + 并点击
number2 = self.driver.find_element_by_id("digit2").click() #定位按钮2并点击
number_equal = self.driver.find_element_by_id("equal").click() #定位按钮等于号(=)并点击
try:
result = self.driver.find_element_by_class_name("android.widget.EditText").text
self.assertEqual(result,u"")
except Exception:
print "Experiment Result Error"
self.fail() def tearDown(self):
self.driver.quit() if __name__ == '__main__':
unittest.main()