appium python ios 自动化
mac下搭建appium python selenium来针对ios应用进行自动化测试,并不是官网上的例子,自己程序调试成功。
前言:因为appium的安装前要先确定nodejs的安装、python的安装、npm、selenium的安装 这些不想洗说。直接appium
一:安装appium,签完不能用sudo进行安装
1、npm install appium 等待。这样成功后接着下一步
2、npm install wd(为什么安装,真的不知道,貌似没安装也行)
3、去下载appium 的dum文件进行安装。官网下载就好,直接安装
4、sudo pip install Appium-Python-Client 安装,我不知道这个和上面的有什么区别,只是安装上面那个报错了
到这里貌似appium安装好了,接下来就是ios打包的问题:
问题:
在开始的时候我直接是用xcode打的app包,然后手机里面也是把这个包安装好了的,结果无论怎么的,都是报错,报错,报错。
办法:
在网上找的所有教程,都是说的官网上下载那个教程,然后使用xcodebuild进行打包,然后怎么怎么的,可是我不是要例子,我只能用自己的包,所以问题来了:
1、xcode里面打包的方式好几种,而且签名好几种,那么你需要进行选择,这个找开发帮忙,不细说,纠结。
2、build的时候因为大多数用了pod这个第三方的插件,所以打包基本都会报错,那么找开发解决吧。打包的时候涉及到一个参数问题,指定工程名进行打包
3、打包的时候直接在xcode里面选择project,选择build,不要选择其他的,这个时候build出来的包就在工程下面会多一个buld文件,这里面找到.app文件,拷贝出来,放在根目录下。
4、把包弄好了之后,启动appium客户端,然后选择苹果那个小图标进行选择,在基本设置里面把刚.app文件的路径加进去,下面buildid的id在ccode里面找到输入进去,还有就是uuid,输入进去,其他的没了。
5、脚本:
#-*- coding: UTF-8 -*-
import unittest
from appium import webdriver
import time class SimpleIOSTests(unittest.TestCase): def setUp(self):
# setup appium
app = '/Users/Easter/Desktop/AutoTestIOS/StudyAndProgress.app' #和小图标里面的路径必须一样,下面的id和小图标里面的id必须一样
self.driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities={
'app': app,
'platformName': 'iOS',
'platformVersion': '7.1',
'deviceName': '5422c4433ce7ab54545de64f39627a80b8b65en'
}) def tearDown(self):
self.driver.quit() def test_ui_computation(self):
time.sleep(5)
# populate text fields with values
#最新版本的appium使用name定位的时候会有问题。看了一下资料说的是appium的bug。
el = self.driver.find_element_by_xpath("//UIAApplication[1]/UIAWindow[1]/UIATabBar[1]/UIAButton[2]")
el.click()
time.sleep(5) if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(SimpleIOSTests)
unittest.TextTestRunner(verbosity=2).run(suite)
appium python ios 自动化的更多相关文章
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- Appium + Python App自动化第一个脚本
今天跟大家讲解一个Appium和Python App自动化的脚本.[1]打开你的夜神模拟器(或者连接你的手机) [2]打开桌面的Appium [3]下载你要测的App的apk文件,放到桌面[4]拖动你 ...
- (appium+python)UI自动化_08_unittest编写测试用例
前言 unittest是python自带的单元测试框架,类似于Junit(Java单元测试框架).支持自动化测试,可编写测试前置&后置条件,并且可批量运行测试用例并生成测试报告. 使用unit ...
- (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】
前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...
- (appium+python)UI自动化_02_appium启动手机app
前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一.USB连接手机 (1)手机USB连接电脑 (2)手机打开开 ...
- [小菜随笔]新手使用appium+python进行自动化测试过程中webdriver.Remote报错的错误分析方法(带实例)
很多人刚开始使用python+appium去执行APP自动化的时候经常会遇到webdriver.Remote,报错位置指向都是driver = webdriver.Remote('http://127 ...
- Appium + Python App自动化(2)第一个脚本
[1]打开你的夜神模拟器(或者连接你的手机) [2]打开桌面的Appium [3]下载你要测的App的apk文件,放到桌面 [4]拖动你的apk安装包到夜神模拟器里,然后模拟器会提示你安装.安装.原来 ...
- (appium+python)UI自动化_01_自动化环境搭建【MAC版】
Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...
- APPium+Python+iOS屏幕滑动方法对比
最近在学习appium自动化,对iOS手机进行滑动操作进行总结: 1.mobile:scroll;该方法在实际使用调用时,会滚动2次.执行时间很长. 向下滚动整个屏幕driver.execute_sc ...
随机推荐
- 【Beta】 第七次Daily Scrum Meeting
第七次meeting会议 [Beta] 第七次Daily Scrum Meeting 一.本次会议为第七次meeting会议 二.时间:10:00AM-10:20AM 地点:禹州楼 三.会议站立式照片 ...
- 【Alpha】——Fifth Scrum Meeting
一.今日站立式会议照片 二.每个人的工作 成员 昨天已完成的工作 今天计划完成的工作 李永豪 测试统计功能 对统计出现的问题进一步完善 郑靖涛 着手编写报表设计 继续报表设计 杨海亮 协助编写统计功能 ...
- 【Alpha】——Second Scrum Meeting
一.今日站立式会议照片 二.每个人的工作 成员 昨天已完成的工作 今天计划完成的工作 李永豪 完成登录按钮代码 完成添加功能 郑靖涛 完成登录按钮代码 完成删除功能 杨海亮 完成注册按钮代码 完成查找 ...
- 201521123028 《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 Q1.clone方法 1.1 Object ...
- 201521123060《Java程序设计》第1周学习总结
1. 本章学习总结 认识和了解了Java的发展进程: 了解了相关开发工具: 认识了JVM,JRE,JDK: 2. 书面作业 Q1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?(请用 ...
- 201521123013 《Java程序设计》第14周学习总结
1. 本周学习总结 2. 书面作业 Q1. MySQL数据库基本操作 1.1 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 1.2 在自己建立的数据库上执行常见SQ ...
- Java 第十一周总结
1. 本周学习总结 2. 书面作业 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有什么办法实现互斥同步访 ...
- 201521123086 《Java程序设计》第9周学习总结
本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. (1)使用try...catch语句捕获异常(try块后可跟一个或多个catch块,注意子类异常要放在父类异常前面,否则子 ...
- mybatis-resultMap使用与详解
1,当数据库的字段名与属性名称不一致时,在mybatis中如何处理? 第一种方式: 采用投影对字段重命名<select id="load" parameterType=&qu ...
- XML-为XML添加DTD-Schema方法
以后都按照如下方式为XML添加dtd或者schema 1,一般从源码jar包里找dtd文件,拷贝到自己的本地目录中: 比如mybatis在如下目录中有dtd :~/ mybatis-3.2.2-sou ...