计算器的单元测试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
# 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的更多相关文章
- 复利计算器Junit单元测试
一.测试场景 测试模块 测试输入 预期结果 运行结果 bug跟踪 复利计算 (本金,利率,年限,次数) 终值 测试运算结果 (100,5,3,1) 115.76 115.76 测试输入负数 ...
- 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟
一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单 ...
- 如何在eclipse中通过Juit进行单元测试
1.什么是Junit Junit即单元测试,是JAVA语言的单元测试框架,是对程序的一个方法所进行的测试 一般都是由程序员自己通过Junit来进行测试,因此单元测试也叫程序员测试: 如果测试人员熟悉程 ...
- [转]在Eclipse中使用JUnit4进行单元测试(初级篇)
首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...
- 使用Junit等工具进行单元测试
一.类的定义: 类是同一事物的总称,类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类. 二.Junit工具的使用: 1.首先新建一个项目叫JUnit_Test,我们编写一个 ...
- angular单元测试与自动化UI测试实践
关于本文:介绍通过karma与jsmine框架对angular开发的应用程序进行单元与E2E测试. angular单元测试与集成测试实践 先决条件 创建项目 webstorm中创建空白web项目 创建 ...
- JUnit 4 单元测试
Individual Project ——JUnit 4 单元测试 学习到JUnit单元测试,我拿来测试之前写过的一个计算器(两个依存类:Calc.java CalcFunction.java).代码 ...
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...
- 0316-复利计算器3.0---release
目录 一.项目简介 二.Github链接推送 三.客户需求 四.需求分析 五.项目设计 六.完成效果 七.JUnit ...
随机推荐
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (一)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- C Run-Time Error R6034问题的解决
1.问题描述 这两天一直在用vs2008编写一个小项目,需要在c++代码中通过命令行的方式调用cl.exe和link.exe,也就是给编译器cl和链接器link传递参数,然后编译链接生成可执行文件ex ...
- Problem L
Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: L&qu ...
- 暑假练习赛 007 C - OCR
C - OCR Description standard input/outputStatements Optical Character Recognition (OCR) is one of th ...
- EasyUI实现购物车、菜单和窗口栏等最常用的用户界面功能
一.EasyUI jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件. easyui 提供建立现代化的具有交互性的 javascript 应用的必要的功能. 使用 e ...
- Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):
用windows连接hadoop集群执行mapreduce任务的时候出现以下错误: org.apache.hadoop.security.AccessControlException:Permissi ...
- Hadoop 中 最重要的两个模块
Hadoop 中 最重要的两个模块 HDFS 分布式的文件系统 主节点: NameNode SecondaryNamenode ResourceManager 从节点: DataNode Node ...
- 全站HTTPS简单实践
第一个里程碑:创建https证书 [root@web01 backup]# openssl req -new -x509 -nodes -out server.crt -keyout server.k ...
- SSH三大框架整合步骤
Struts2:需要整合的第一个框架: 1.创建一个动态web项目 2.导入struts2必须的jar 放到 lib目录下 ,再 build path 添加web工程中 3.配置struts2的核心配 ...
- javascript中new操作符
当代码var p= new Person("tom")执行时,其实内部做了如下几件事情: 1.创建一个空白对象(new Object()). 2.拷贝Person.prototyp ...