Appium笔记1--基于python windows下的环境搭建

Appium自动化架构和Selenium有很大的相似之处

包含了 个主体部分 :

Test script --- 即我们的测试程序,是测试逻辑的实现部分。就像以前我们的Selenium自动化脚本。

                       而且和Selenium一样,可以使用多种语言,Appium 客户端库也支持多种语言。

                        一般运行在pc、上,或者苹果笔记本、台式机

Appium Server ---这是一个用 javascript代码实现的程序。 是运行在 Node.js 里面的。

被测试app --- 运行在真实设备或者模拟器中

 

过程及运行逻辑:

我们开发的的自动化程序(Test script) 运行各种测试脚本

告诉  Appium Server,我们要做什么操作

Appium Server接收到 测试程序的命令后, 又是怎么真正的控制移动设备上的app的呢?  

原来appium 是自己开发一个自动化模块(或者叫应用),安装在移动设备中的,如同一个木马

appium开发的木马,通过使用 各个移动APP开发平台 自带的 自动化框架来实现的

appium在移动设备上会注入测试模块,测试模块会调用这些自动化框架提供库,从而控制设备和操作app。

 

安装Appium Python Client 包
安装Appium Python Client 包的命令
pip install Appium-Python-Client
github网址

安装 Appium Server
下载安装Appium Desktop的安装包
下载地址 https://github.com/appium/appium-desktop/releases/latest 下载扩展名为.exe的包


安装JDK
到 oracle 官方网站下载JDK 1.8 的安装包,进行安装
设置环境变量 JAVA_HOME 为 jdk 的根目录 比如 d:\tools\java\jdk1.8.0_121
参考我之前的文章
https://blog.csdn.net/sgpy406/article/details/83120234



安装 Android SDK

也需要配置环境变量
设置环境变量 android_home 的值为 sdk 目录
可参考:https://blog.csdn.net/sgpy406/article/details/83120332

举例子:
先创建目录 d:\android\sdk
打开 https://developer.android.google.cn/studio/(可能会被墙,和谐社会,科学上网)
下载 sdk-tools包 到 d:\android\sdk,进入\tools\bin\ ,执行如下命令,进行下载安装
sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.2"



手机连接电脑
找到一个安卓设备,将其连接到电脑上,cmd窗口下,确保可以被命令 adb devices -l 检测到



运行自动化测试
运行Appium Server,并设置、启动服务
运行自动化脚本

初学appium时,会接触的代码:

#在python界面,导入库
from appium import webdriver

#新建一个空字典
desired_caps = {}
#设备对应系统
desired_caps['platformName'] = 'Android'
#系统对应版本
desired_caps['platformVersion'] = '6.0'
#需要一个设备名称
desired_caps['deviceName'] = 'test'
#如果app未安装在手机上,填写你apk所在的路径,运行时会帮你安装
desired_caps['app'] = r'e:\apk\yourapp.apk'
#应用程序的包名
desired_caps['appPackage'] = 'io.manong.developerdaily'
#app里面的Activity,需要另外获取,后续一篇会涉及
desired_caps['appActivity'] = 'io.toutiao.android.ui.activity.LaunchActivity'
#涉及中文时  此选项需要注意
desired_caps['unicodeKeyboard']  = True
#
desired_caps['resetKeyboard']  = True
#操作完成后,需不需要重置
desired_caps['noReset'] = True
#appium server 认为 和客户端之间 无响应最大时间,超过这个时间就会停止服务
desired_caps['newCommandTimeout'] = 6000



#启动Remote RPC

# appium server 在这个URI上接收 客户端发送的rest API请求
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值