【转】NO.2、Appium之IOS第一个demo
接第一篇:Appium之iOS环境搭建
http://blog.csdn.net/clean_water/article/details/52946191
这个实例继承了unittest,重写了它的setUp()、tearDown()
共四个方法,包含两个用例方法:
1.setUp():重写的unittest方法,每一条用例执行最初被调用,一般这里会写获得driver的方法,供用例使用。这里写了获得appium的driver的方法。
2.tearDown():重写的unittest方法,每一条用例执行最后被调用,一般这里写driver销毁的方法。这里写了pass,代表什么都不做,很多时候用例顺序执行,tearDown确实不需要做什么。
3.test_case1_1:第一个用例,实现登录功能。注意--注意--注意:它最初会调用setUp、最后会调用tearDown,这是unittest的潜规则。
4.test_case1_2:第二个用例,实现退出功能。注意--注意--注意:它最初会调用setUp、最后会调用tearDown,这是unittest的潜规则。
注意:用例执行顺序根据名称排序,此处先执行test_case1_1,再执行test_case1_2,每个用例执行最初会调用setUp(),执行最后会调用tearDown(),这是unittest的潜规则。
实例代码:
===================================================
# -*- coding: UTF-8 -*-
import unittest
from appium import webdriver
class LoginIOSTests(unittest.TestCase):
# 重写unittest的setUp方法,连接appium,包含了设备参数
def setUp(self):
self.driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities={
'deviceName': '',
'platformName': 'iOS',
'app': 'com.cmcc.hbb.iphone.teachers.test'
})
# 重写unittest的tearDown,里边什么都不做
def tearDown(self):
pass
def test_case1_1(self):
# 输入用户名
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIATextField[1]").clear()
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIATextField[1]").send_keys("17799999999")
# 输入密码
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]").clear()
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]").send_keys("999999")
# 点击登陆
self.find_element('NAME',u"登录").click()
# 如果能找到这个元素,则登陆成功
self.assertIsNotNone(self.find_element('NAME', u"班级圈"))
def test_case1_2(self):
# 点击退出
self.find_element('NAME', u"退出").click()
# 如果能找到登陆页面的'登陆'元素,则退出成功
self.assertIsNotNone(self.find_element('NAME', u"登录"))
【转】NO.2、Appium之IOS第一个demo的更多相关文章
- 使用appium进行ios测试,启动inspector时遇到的问题(一)
最近在公司,让做ios的自动化测试,因为以前做过android的自动化测试,用的也是appium,觉得没什么,结果一开始在搭建环境就遇到了很多的问题,现在将我遇到的问题,以及解决方法,给大家分享出来. ...
- Appium的iOS环境搭建
操作系统的名称:Mac OS X操作系统的版本:10.13.3 xcode 版本:9.2 java 版本:java8_161 appium destop版本:1.7.3 接下来我们开始踏上搭建Appi ...
- Appium自动化测试-iOS
Appium的哲学 我们相信,对原生应用的自动化测试,应当不必要包含其他的SDK组件或者特别编译您的App,并且应当可以选择任何您喜欢的测试方法,框架和工具.基于这些出发点我们开发了Appium.现在 ...
- 使用Appium进行iOS的真机自动化测试
windows不支持appium连接ios,只适用于mac 使用Appium进行iOS的真机自动化测试 安装类库 Homebrew 如果没有安装过Homebrew,先安装[ homebrew ] np ...
- Appium for iOS setup
windows下appium设置 之前研究了一段时间的appium for native app 相应的总结如下: ...
- iOS 模仿一个小项目,总结一下里边的模块
ManoBoo: 参考链接:http://www.jianshu.com/p/fd4c46c31508 这个小的项目是参考ManoBoo的简书的,链接在上方,自己在仿做的过程中,也离不开Man ...
- Xcode 只有iOS device一个选项的解决办法
下载了一个demo准备研究发现只有iOS device,没有其他的机型可选,解决方法比较简单,调下iOS SDK就行了
- iOS查看一个软件ipa包的全部内容
iOS查看一个软件ipa包的全部内容 一,打开itunes----->我的iPhone应用程序. 二,右键点击app---->在Finder中显示---->出现下图所示界面. 三,将 ...
- iOS开发一个制作Live Photo的工具
代码地址如下:http://www.demodashi.com/demo/13339.html 1.livePhoto简介 livePhoto是iOS 9.0 之后系统相机提供的拍摄动态照片的功能,但 ...
随机推荐
- hdu 4869 Turn the pokers (思维)
Turn the pokers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- web常见效果之轮播图
轮播图的展示效果是显而易见: HTML代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
- SPCircleView的使用(圆心向四周扩散动画)
今天封装了一个动画,想着以后可能会用,就封装了一下.欢迎下载 https://github.com/USimpleLife/SPCircleView 参数说明 @param centerPoint 中 ...
- iOS 类似朋友圈的图片浏览器SDPhotoBrowser
SDPhotoBrowser.Demo 1.在文件SDBrowserImageView.m中有用SDWebImage到网络加载图片 需要的注释去掉即可 #import "ViewContro ...
- Node: 如何控制子进程的输出
大家知道,在一个node程序中,如果当前进程想要生成一个子进程,它可以调用child_process模块的spawn方法.spawn方法签名如下: child_process.spawn(comman ...
- arcgis api for js入门开发系列十六迁徙流动图
最近公司有个arcgis api for js的项目,需要用到百度echarts迁徙图效果,而百度那个效果实现是结合百度地图的,怎么才能跟arcgis api结合呢,网上搜索,终于在github找到了 ...
- Vuejs环境安装与工程建立【小白Windows向】
不知道为什么CDN的方式就是困难...大佬说SPA必须配置本地开发环境,那就配咯. 所以就准备了以下的工具进行安装本地开发环境: 1. 代码编辑器×1[本人使用VSCode 1.11] 2. Node ...
- bzoj 4537 HNOI2016 最小公倍数
Description 给定一张N个顶点M条边的无向图(顶点编号为1,2,-,n),每条边上带有权值.所有权值都可以分解成2^a*3^b的形式.现在有q个询问,每次询问给定四个参数u.v.a和b,请你 ...
- 【WebGL】《WebGL编程指南》读书笔记——第3章
一.前言 根据前面一章的内容,继续第三章的学习. 二.正文 一起绘制三个点,这里要使用到缓存了 var n = initVertexBuffers(gl); //返回绘制点的个数 n ) ...
- node学习心得
此次学习主要使用的是基于nodejs平台的web应用开发框架. 一.express的工程结构 1.bin/www:express的执行入口,存放可执行文件: 2.node_modules:存放pack ...