计算器的单元测试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 ...
随机推荐
- 如何获取系统Home(Launcher)应用判断用户是否处于home界面
要把我们的应用程序作为home(launcher应用),只需要在AndroidManifest.xml中添加: <category android:name="android.inte ...
- python生成式
本篇将介绍Python的列表生成式,更多内容请参考:Python列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个 ...
- HDU Today
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- AngularJS学习篇(一)
AngularJS 使用 表达式 把数据绑定到 HTML. AngularJS 表达式 AngularJS 表达式写在双大括号内:{{ expression }}. AngularJS 表达式把数据绑 ...
- PHP读取数据库表显示到前台
<?php$username=$_GET['uid']; //获取一个值作为查询条件 $result=$db->query("select * from trip where a ...
- transition过度
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 70、django之Ajax初识
Ajax准么说是用于Javascript与服务器端进行交互的,我们之前呢没有了解ajax也同样可以完成与服务器的交互,那么ajax的优势在哪里?首先ajax是异步交互的也就是说我们基本不会遇到卡顿现象 ...
- java_IO流读取本地文件
package com.ht.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoun ...
- 我是如何理解Android的Handler模型_3
AsyncTask则相当于现代化的电话系统,接线员的功能被完全封装了. 对于上例,新建更新TextView的类并继承AsyncTack类,如下: class UpdataTV extends Asyn ...
- C语言函数与程序结构
title : C语言函数与程序结构 tags : C语言作用域规则 , 外部变量 ,静态变量 ,寄存器变量,宏定义 grammar_cjkRuby: true --- 外部变量 变量声明用于说明变量 ...