通过上一篇文章,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

 # 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()

计算器的单元测试dome的更多相关文章

  1. 复利计算器Junit单元测试

    一.测试场景 测试模块 测试输入 预期结果 运行结果 bug跟踪 复利计算 (本金,利率,年限,次数) 终值     测试运算结果 (100,5,3,1) 115.76 115.76   测试输入负数 ...

  2. 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟

    一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单 ...

  3. 如何在eclipse中通过Juit进行单元测试

    1.什么是Junit Junit即单元测试,是JAVA语言的单元测试框架,是对程序的一个方法所进行的测试 一般都是由程序员自己通过Junit来进行测试,因此单元测试也叫程序员测试: 如果测试人员熟悉程 ...

  4. [转]在Eclipse中使用JUnit4进行单元测试(初级篇)

    首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...

  5. 使用Junit等工具进行单元测试

    一.类的定义: 类是同一事物的总称,类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类. 二.Junit工具的使用: 1.首先新建一个项目叫JUnit_Test,我们编写一个 ...

  6. angular单元测试与自动化UI测试实践

    关于本文:介绍通过karma与jsmine框架对angular开发的应用程序进行单元与E2E测试. angular单元测试与集成测试实践 先决条件 创建项目 webstorm中创建空白web项目 创建 ...

  7. JUnit 4 单元测试

    Individual Project ——JUnit 4 单元测试 学习到JUnit单元测试,我拿来测试之前写过的一个计算器(两个依存类:Calc.java CalcFunction.java).代码 ...

  8. 在Eclipse中使用JUnit4进行单元测试(初级篇)

    首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...

  9. 0316-复利计算器3.0---release

    目录       一.项目简介       二.Github链接推送       三.客户需求       四.需求分析       五.项目设计       六.完成效果       七.JUnit ...

随机推荐

  1. Toxophily

    Problem Description The recreation center of WHU ACM Team has indoor billiards, Ping Pang, chess and ...

  2. 【转载】以Java的视角来聊聊SQL注入

    以Java的视角来聊聊SQL注入 原创 2017-08-08 javatiku Java面试那些事儿 在大二就接触过sql注入,之前一直在学习windows逆向技术,认为web安全以后不是自己的从业方 ...

  3. Android 开发笔记___RelativeLayout

    xml文件实现 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andr ...

  4. SQL Server远程连接(2)

  5. svg snap 笔记

    路径中的字母,大写相对于左上角绝对定位,小写相对定位  M110,95,95,110M115,100,100,115   pattern 类似于图片拼贴,可以把指定位置的图案用来填充 var patt ...

  6. XMLHttpRequest2 异步 ajax

    XMLHttpRequest1只是对已经存在的xhr对象细节进行规范定义, XMLHttpRequest2升级了该对象.   FormData 类型可以用在xhr传输的时候,把表单序列化或者将数据以表 ...

  7. 取得 iframe 容器的 URL

    检测所在窗口是否为最外层的窗口,若不是则跳脱包含它的框架 if( window !== window.top ) {    window.top.location = location; } top ...

  8. Lombok 使用小结

    Lombok 简介 Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO).它通过注释实现这一目的.通过在开发环境中实现 Lo ...

  9. 外键删除(T-SQL Drop Foreign Key)

    列出某张表相关的 FK Name select distinct name from sys.objects where object_id in (   select fk.constraint_o ...

  10. python迭代器以及itertools模块

    迭代器 在python中,迭代器协议就是实现对象的__iter()方法和next()方法,其中前者返回对象本身,后者返回容器的下一个元素.实现了这两个方法的对象就是可迭代对象.迭代器是有惰性的,只有在 ...