接第一篇: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的更多相关文章

  1. 使用appium进行ios测试,启动inspector时遇到的问题(一)

    最近在公司,让做ios的自动化测试,因为以前做过android的自动化测试,用的也是appium,觉得没什么,结果一开始在搭建环境就遇到了很多的问题,现在将我遇到的问题,以及解决方法,给大家分享出来. ...

  2. Appium的iOS环境搭建

    操作系统的名称:Mac OS X操作系统的版本:10.13.3 xcode 版本:9.2 java 版本:java8_161 appium destop版本:1.7.3 接下来我们开始踏上搭建Appi ...

  3. Appium自动化测试-iOS

    Appium的哲学 我们相信,对原生应用的自动化测试,应当不必要包含其他的SDK组件或者特别编译您的App,并且应当可以选择任何您喜欢的测试方法,框架和工具.基于这些出发点我们开发了Appium.现在 ...

  4. 使用Appium进行iOS的真机自动化测试

    windows不支持appium连接ios,只适用于mac 使用Appium进行iOS的真机自动化测试 安装类库 Homebrew 如果没有安装过Homebrew,先安装[ homebrew ] np ...

  5. Appium for iOS setup

    windows下appium设置 之前研究了一段时间的appium for native app 相应的总结如下:                                           ...

  6. iOS 模仿一个小项目,总结一下里边的模块

      ManoBoo:  参考链接:http://www.jianshu.com/p/fd4c46c31508  这个小的项目是参考ManoBoo的简书的,链接在上方,自己在仿做的过程中,也离不开Man ...

  7. Xcode 只有iOS device一个选项的解决办法

    下载了一个demo准备研究发现只有iOS device,没有其他的机型可选,解决方法比较简单,调下iOS SDK就行了

  8. iOS查看一个软件ipa包的全部内容

    iOS查看一个软件ipa包的全部内容 一,打开itunes----->我的iPhone应用程序. 二,右键点击app---->在Finder中显示---->出现下图所示界面. 三,将 ...

  9. iOS开发一个制作Live Photo的工具

    代码地址如下:http://www.demodashi.com/demo/13339.html 1.livePhoto简介 livePhoto是iOS 9.0 之后系统相机提供的拍摄动态照片的功能,但 ...

随机推荐

  1. C++彩色数据流动界面

    一个数据流动界面 #include <windows.h> #include <time.h> #include <cstdio> #include <str ...

  2. 【剑指Offer学习】【面试题21:包括min 函数的栈】

    题目: 定义栈的数据结构,请在该类型中实现一个可以得到栈的最小素的min 函数.在该栈中.调用min.push 及pop的时间复杂度都是0(1) 解题思路: 把每次的最小元素(之前的最小元素和新压入战 ...

  3. Android ListView Adapter的getItemViewType和getViewTypeCount多种布局

     <Android ListView Adapter的getItemViewType和getViewTypeCount多种布局> 在Android的ListView中.假设在一个Lis ...

  4. windows 环境安装oracle11g db 或者RAC 防火墙必需要透过的进程,port

    1.Firewall Exceptions for Oracle Database For basic database operation and connectivity from remote ...

  5. iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说

    UIKit Dynamic是iOS7 新增的一组类和方法.可赋予UIView逼真的行为和特征,不须要写动画效果那些繁琐的代码,让开发者可以轻松地改善应用的用户体验.一共同拥有6个可用于定制UIDyna ...

  6. linux 磁盘管理三部曲——(1)磁盘结构,认识分区

    最近小编整理了磁盘管理的相关知识,发现还是挺多的,所有就分了三个部分来给大家分享一下: 1.磁盘结构,认识分区 2.管理分区,文件系统格式化 3.mount挂载,/etc/fstab配置文件 这篇就先 ...

  7. websocket简单实例

    只需要两个文件即可,一个服务端,一个前端,一下示例为模拟简单的聊天程序: 服务端: package com.test.websocket; import java.io.IOException; im ...

  8. 超详细的CentOS7 64位下MySQL5.7安装与配置(YUM)【转发+新创】

    安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...

  9. Mac环境下实现alias重命名命令(永久生效)

    Mac环境下实现alias重命名命令 iOS Dev在使用Xcode完成代码编写后,可能需要上传至第三方分发应用给测试人员进行相关测试,比如蒲公英.FIR. 效率较高的上传方式是借助于Fastlane ...

  10. Oracle数据库(一)概述、基础与简单操作

    数据库: 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. 数据库分类: 关系型数据库 非关系型数据库 数据库 类型 特性 优点 缺点 关系型数据库 SQLite.Oracle. ...