博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
appium安装与简单使用
阅读量:4544 次
发布时间:2019-06-08

本文共 2801 字,大约阅读时间需要 9 分钟。

安装appium client:

cmd下输入命令:pip install Appium-Python-Client
pycharm下一个简单的实例,通过appium驱动android模拟器->打开计算器->计算5+6=?->关闭计算器
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = 'com.android.deskclock'
desired_caps['appActivity'] = '.DeskClock'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)#启动app
driver.find_element_by_name("5").click()
driver.find_element_by_name("+").click()
driver.find_element_by_name("6").click()
driver.find_element_by_name("=").click()
driver.quit()
webdriver.Remote实际上就是原生webdriver的子类,另外Remote()构造函数的第一个参数中需要显示指定appium server监听的端口
platformName:使用哪种移动平台。iOS, Android, or FirefoxOS
deviceName:启动哪种设备,是真机还是模拟器?iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc…
appActivity:待测试的app的Activity名字。比如MainActivity, .Settings。注意,原生app的话要在activity前加个”.“。
appPackage:待测试的app的java package。比如com.example.android.myApp, com.android.settings。
其他:
app:应用的绝对路径,注意一定是绝对路径。如果指定了appPackage和appActivity的话,这个属性是可以不设置的。另外这个属性和browserName属性是冲突的。
browserName:移动浏览器的名称。比如Safari’ for iOS and ‘Chrome’, ‘Chromium’, or ‘Browser’ for Android;与app属性互斥。
udid:物理机的id。比如1ae203187fc012g
monitor.bat:
该文件位于your_andriod_sdk_path\tools下面,可以帮我们找到android控件的content-description,为以后的find_element_by_accessibility_id 定位方法做参数使用
uiautomatorviewer.bat:
该文件位于your_andriod_sdk_path\tools下面
该工具主要用来查看控件的属性,比如resource id,class name等。
该工具也可查看被测app的appPackage(Desired Capabilities中使用)
查找appActivity和appPackage:
a、启动待测apk
b、开启日志输出:adb logcat>D:/log.txt
c、关闭日志输出:ctrl+c
d、查看日志
找寻:
Displayed com.mm.android.hsy/.ui.LoginActivity: +3s859ms
appPackage = com.mm.android.hsy
appActivity = .ui.LoginActivity
python篇
el = self.driver.find_element_by_android_uiautomator('new UiSelector().description("Animation")')
self.assertIsNotNone(el)
els = self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(true)')
self.assertIsInstance(els, list)
el = self.driver.find_element_by_accessibility_id('Animation')
self.assertIsNotNone(el)
els = self.driver.find_elements_by_accessibility_id('Animation')
self.assertIsInstance(els, list)
总的来说就是在driver里增加了
 find_element_by_accessibility_id
find_elements_by_accessibility_id
find_element_by_android_uiautomator
find_element_by_android_uiautomator
等方法
Appium连接真机
1)打开手机的USB调试模式
不同的手机打开调试模式的方式不同。一般都在设置中的开发者模式中打开
2)手机连接电脑
使用数据线连接手机与电脑,然后在cmd中输入adb devices查看是否连接成功
新手可能会出现两个问题
一是输入adb命令时提示不是内部命令或者外部命令

 

那么你需要下载一个adb工具包并存放在C:\Windows\System32目录下(必须强调:与sdk中的adb工具包版本一致!!!!)

 

二是需要打开手机的usb调试模式并安装好驱动
之后在cmd中输入adb devices 提示如下图则成功

 

3)启动appium服务
在cmd命令中输入:appium

 

启动成功
或者appium上配置:

 

安装好django,版本1.9,使用pip install django==1.9命令安装即可

转载于:https://www.cnblogs.com/ninanie/p/8213406.html

你可能感兴趣的文章
并发编程学习总结
查看>>
Xamarin.Android 上中下布局
查看>>
VS Code使用记录
查看>>
locust参数化(数据库取值)
查看>>
Google Protocol Buffers浅析(三)
查看>>
.net core 中使用Google的protoc
查看>>
Spring Cloud和Spring Boot的区别
查看>>
jquery实现图片上传前本地预览
查看>>
C# — 题库答案汇总
查看>>
docker居然需要3.10以上的内核
查看>>
Win10下安装zookeeper
查看>>
客户端用JavaScript填充DropDownList控件,服务器端读不到值
查看>>
Dubbo源码学习--服务是如何引用的
查看>>
【转】C#安装字体到系统
查看>>
Android视频播放之VideoView
查看>>
非对称加密
查看>>
位运算巧用
查看>>
display:flex布局
查看>>
利用反射跟自定义注解拼接实体对象的查询SQL
查看>>
JQuery Ajax Options
查看>>