【转】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 之后系统相机提供的拍摄动态照片的功能,但 ...
随机推荐
- C++彩色数据流动界面
一个数据流动界面 #include <windows.h> #include <time.h> #include <cstdio> #include <str ...
- 【剑指Offer学习】【面试题21:包括min 函数的栈】
题目: 定义栈的数据结构,请在该类型中实现一个可以得到栈的最小素的min 函数.在该栈中.调用min.push 及pop的时间复杂度都是0(1) 解题思路: 把每次的最小元素(之前的最小元素和新压入战 ...
- Android ListView Adapter的getItemViewType和getViewTypeCount多种布局
<Android ListView Adapter的getItemViewType和getViewTypeCount多种布局> 在Android的ListView中.假设在一个Lis ...
- windows 环境安装oracle11g db 或者RAC 防火墙必需要透过的进程,port
1.Firewall Exceptions for Oracle Database For basic database operation and connectivity from remote ...
- iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说
UIKit Dynamic是iOS7 新增的一组类和方法.可赋予UIView逼真的行为和特征,不须要写动画效果那些繁琐的代码,让开发者可以轻松地改善应用的用户体验.一共同拥有6个可用于定制UIDyna ...
- linux 磁盘管理三部曲——(1)磁盘结构,认识分区
最近小编整理了磁盘管理的相关知识,发现还是挺多的,所有就分了三个部分来给大家分享一下: 1.磁盘结构,认识分区 2.管理分区,文件系统格式化 3.mount挂载,/etc/fstab配置文件 这篇就先 ...
- websocket简单实例
只需要两个文件即可,一个服务端,一个前端,一下示例为模拟简单的聊天程序: 服务端: package com.test.websocket; import java.io.IOException; im ...
- 超详细的CentOS7 64位下MySQL5.7安装与配置(YUM)【转发+新创】
安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...
- Mac环境下实现alias重命名命令(永久生效)
Mac环境下实现alias重命名命令 iOS Dev在使用Xcode完成代码编写后,可能需要上传至第三方分发应用给测试人员进行相关测试,比如蒲公英.FIR. 效率较高的上传方式是借助于Fastlane ...
- Oracle数据库(一)概述、基础与简单操作
数据库: 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. 数据库分类: 关系型数据库 非关系型数据库 数据库 类型 特性 优点 缺点 关系型数据库 SQLite.Oracle. ...