Appium官网所描述的特性,都很吸引人,刚好最近在研究Mobile Automation Testing,所以很有兴趣探索下Appium这个年轻的工具。

不过看了官网的documents,实在是让初入门的我感觉摸不着头脑。

所以,我只能search网上有限的资源,先从运行Appium提供的支持Python,Javascript,Java,Ruby等语言的examples开始慢慢体会Appium的工作原理。

在此,记录这个探索的过程。

首先尝试成功的是,在Mac OS上的Python example。

这里,Appium的使用,主要有四个方面的因素:

一,Appium Server

1. Appium Server的安装

前提:已经安装node.js&npm

安装:在mac上打开shell

#sudo npm install -g appium  //加上sudo以防Permission的问题

#npm install wd  //这个还不清楚有什么影响??

------------

正常情况下,这样,Appium Server就安装成功了。

启动:

#appium &    //若显示如下信息,说明Appium Server启动成功!(不加&,也可以启动~~~)

二,Selenium WebDriver

因为是Python版,所以就去Selenium官网下载Python的WebDriver(selenium-2.39.0.tar.gz)

https://pypi.python.org/pypi/selenium

解压:

#gzip -dc selenium-2.39.0.tar.gz | tar xvf -

安装:

#cd selenium-2.39.0

#sudo python setup.py install  //sudo依旧是解决Permission的问题

-----------

这样,WebDriver就安装成功了。

三,要测试的app

测试的是appium提供的TestApp

首先,我们需要用xcode编译这个app

#cd appium

#cd sample-code/apps/TestApp

#xcodebuild -sdk iphonesimulator  //为了防止iphonesimulator和设置的冲突,没有注明iphonesimulator的版本

-----------

如果看到** BUILD SUCCEEDED **,这个TestApp就build成功了。

四,Automation Scripts

自动化脚本,也是用appium提供的,在appium目录下可以找到

#cd appium

#cd sample-code

#cd examples/python

#python simple.py      //执行测试脚本

-----------

此时,iOS的模拟器就会打开,开始执行simple.py的测试脚本了!!!

zhuanzi:http://www.cnblogs.com/enjoytesting/p/3513637.html

Appium&python的更多相关文章

  1. Appium python API 总结

    Appium python api 根据testerhome的文章,再补充一些文章里面没有提及的API [TOC] [1]find element driver 的方法 注意:这几个方法只能通过sel ...

  2. appium+Python真机运行测试demo的方法

    appium+Python真机运行测试demo的方法 一,    打开手机的USB调试模式 二,    连接手机到电脑 将手机用数据线连接到电脑,并授权USB调试模式.查看连接的效果,在cmd下运行命 ...

  3. android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)

    android模拟器(genymotion)+appium+python 框架执行的基本过程: 1.Push.initDate(openid)方法     //业务数据初始化 1.1   v5db.p ...

  4. appium+python做移动端自动化测试

      1 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Native).混合(Hybrid).移动Web(Mobile Web)应用UI自动化测试的相关自动化测试人员.开发人员等提供 ...

  5. appium python ios 自动化

    mac下搭建appium python selenium来针对ios应用进行自动化测试,并不是官网上的例子,自己程序调试成功. 前言:因为appium的安装前要先确定nodejs的安装.python的 ...

  6. appium+Python 启动app(二)

    我们上步操作基本完成,下面介绍编写Python脚本启动app 打开我们pycharm新建.py文件 第一步:输入Python脚本代码: #coding=utf-8 from appium import ...

  7. appium+Python 启动app(一)

    当我们appium和Python环境都配置好了,如何启动我们第一个app呢?下面介绍appium+Python启动app的操作步骤,为了能够详细查看,我们这里使用夜游神模拟器进行示范. 测试项目:QQ ...

  8. Appium + Python环境搭建(移动端自动化)

    安装JDK,配置JDK环境    百度搜索下载就行,这里分享一个下载链接:https://pan.baidu.com/s/1snuTOAx 密码:9z8r. 下载好后点击进行安装.安装好后进行环境变量 ...

  9. Appium+Python自动化 1 环境搭建(适用windows系统-Android移动端自动化)

    一.安装并配置 java jdk ①下载 java jdk后 安装,安装完成后,配置环境变量 打开计算机->系统属性->高级系统设置->环境变量->新建(系统变量),如图所示: ...

  10. Appium+python自动化1-环境搭建(上)

    前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.小编擅长Python,所以接下来的教程是appium+py ...

随机推荐

  1. Leetcode 407.接雨水

    接雨水 给定一个 m x n 的矩阵,其中的值均为正整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水. 说明: m 和 n 都是小于110的整数.每一个单位的高度都大于0 且小 ...

  2. lua-helloworld

    write script file, a.lua: #!/usr/bin/lua print("hello world!") add excutable prperty to th ...

  3. 【Luogu】P3402最长公共子序列(LCS->nlognLIS)

    题目链接 SovietPower 的题解讲的很清楚.Map或Hash映射后用nlogn求出LIS.这里只给出代码. #include<cstdio> #include<cctype& ...

  4. [luoguP2331] [SCOI2005]最大子矩阵(DP)

    传送门 orz不会做... 一个好理解的做法(n^3*k): 分n=1和n=2两种情况考虑. n=1时,预处理出前缀和sum[]. 设f[i][j]为到达第i格,已经放了j个子矩阵的最大和, 那么每次 ...

  5. 【2018.10.10】[HNOI2008] GT考试(bzoj1009)

    10pts: 暴力枚举字符串,Hash判是否出现.(真会有人写么) 时间复杂度$O(10^n*n)$. 40pts: 学过OI的人都会写的dp 如果这道题的40pts($n\le 250000$)设成 ...

  6. request.getContextPath是为了解决相对路径的问题,可返回站点的根路径

    假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果 ...

  7. 济南学习 Day 5 T3 pm

    科普一下: φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数.φ(1)= ...

  8. Linux 下tomcat的配置

    参考文档:http://blog.csdn.net/jeamking/article/details/7881196 http://www.cnblogs.com/panxuejun/p/618641 ...

  9. Delphi+MySQL:TADOQuery使用插入中文乱码解决方法

    Delphi+MySQL:TADOQuery使用插入中文乱码解决方法 with adoquery dobeginclose;sql.clear;sql.text:=' insert into test ...

  10. CAN 和 CANopen的区别和联系

    1.CAN与CANopen的共同点与不同点:  CAN只定义了物理层与链路层,而没有定义用户层,用户可根据自己的需要定义一些网络上的通信约定:  CANopen是在CAN的基础上定义了用户层,即规定了 ...