Appium基础

目录

原理:

安装:

JDK:

Appium:

SDK:

补充:

操作:

1.连接手机

2.指令

3.定位元素

两种办法:

4.appium操作中流砥柱

1.先连接手机

2.实例化

5.操作他来了

1.查找元素

2.基本的操作元素

3.加强的基本操作元素

4.TouchAction

6.其他操作

7.补充按键操作

总结:

工具及自己用xmind记的笔记


原理:

是手机自动化测试需要的工具,是开源滴

支持多平台,多系统,多语言

就是电脑传给appium server 由appium将指令转发给手机,以此来控制手机。中间还有处理过程我就不说了,说了我能把自己绕进去。

这篇博客以自动化操作安卓手机为例

安装:

需要下载和配置东西很多,jdk、sdk、appium、模拟器,甚至于你要做ios的你还要买一个苹果电脑,手机我都买不起,跟别说电脑了。这篇博客咱就老老实实的做安卓自动化吧。

简单的来谈一谈怎么安装,b站上都有具体视频。

博客最下面会有网盘链接,里面就有sdk、jdk、appium的安装包,python和pycharm我就不放上了,我比较懒。

JDK:

jdk是软件开发工具包,学后端的必须知道,没有jdk,java就无法编译,现在大部分使用的都是jdk1.8,但我不知道要是做自动化的话jdk的版本会不会影响自动化,随波逐流吗,下载1.8的jdk就行了,自动化需要使用jdk里的东西所以要下载,下载了之后配置jdk的环境变量就行了。

右击我的电脑-----点击属性----右上角往下一点有个高级系统设置-----点他----弹出系统属性弹框----点击右下角的环境变量-----点击新建----起名为JAVA_HOME----输入自己的jdk路径----点击确定。

一定要记住变量值是自己的jdk在你自己电脑所在的绝对路径。

Appium:

解压了我给的appium压缩包,点击就行了,两个选择无所谓,主要看你的心情,点击安装就好了。

SDK:

网盘里也有压缩包,下载完后配置环境变量。

右击我的电脑-----点击属性----右上角往下一点有个高级系统设置-----点他----弹出系统属性弹框----点击右下角的环境变量-----点击新建----起名为ANDROID_HOME----输入自己的SDK路径----点击确定

 

这还没完,还要配置别的环境变量,在Path里配置,系统变量和用户变量的Path都可以,随便一个就行。

往Path加入这两个,也就是sdk文件夹的tools和platform-tools文件

补充:

JDK和SDK在appium中要用到,如果你两个环境变量配置好了,它会自动显示出来。

 大体的安装就完成了,下面就要开始操作了。

操作:

1.连接手机

既然做移动端自动化,那肯顶必须有移动端,手机、平板。还有一种就是可以用手机模拟器,现在网上有很多的手机模拟器,随便下一个就行了。

1.模拟器:这个很简单,打开模拟器就行了

2.手机:得用数据线来连接,最好是原厂配套的,手机必须处于开发者模式。并且进入开发者选项把usb调试打开

点击手机设置------狂点版本号,就会看到显示进入开发者模式------退出去,点击系统和更新-----点击开发人员选项-----打开usb调试

2.指令

学习实际操作之前我们还要学会一些指令,因为在终端输入指令得到的东西非常重要,而且会运用到我们的操作之中。前三个比较好呈现,我就只呈现前三个,我觉着后三个不经常用。

1.adb devices:查看是否成功连接手机

2.adb shell getprop ro.build.version.release:获取手机的版本,连接手机的时候要用到手机版本

3.adb shell dumpsys window windows | findstr  mFocusedApp:获取当前手机处在哪个界面的名称和运行程序的名称,连接手机的时候要用到

4.adb push:电脑文件传到手机

5.adb pull:手机文件传到电脑

6.install/uninstall:安装/删除

3.定位元素

selenium和appium定位元素有所不同,selenium定位元素直接在控制台找就行了,但appium需要借助工具

两种办法:

第一种

1.大家还记得我们下载了一个Android_SDK吗,这个文件夹里面的tools文件夹里有个uniautomatorviewer.bat。

 找到它点击它,就会出现一个终端和一个工具窗口

3.例如你想点击手机设置里面的声音,你就打开设置页面让后点击工具里面左上角数第二个,他就会截到你的设置界面。定位元素就在红框里找,红框上面就类似于html的dom节点(标签)。

 第二种

运用appium工具,打开appium工具点击start server,然后点击右上角的搜索的图标

下一步很重要了,敲敲小黑板了。要想截取到界面,必须有一个步骤很重要,就是把你在python里写的连接手机的配置参数也要添加到appium,配置参数在下面appium操作中有写到。添加完后直接点蓝色按钮start Session就OK了

 如果你常用这个界面的话,你可以保存下来,点击 Save As下一次就不用再重新输了。

注意:如果你要用sdk自带的uniautomatorviewer.bat工具,他有的时候会报错,是因为他和你的appium冲突了,关闭appium就行了。

4.appium操作中流砥柱

1.先连接手机

上面的连接手机你姑且认为是物理连接,下面就要用代码让python和手机相连接。

这些没必要死记硬背,忘了回来再看一遍就行了。

2.实例化

和selenium一个样,先得实例化一个对象操作元素啊

我觉着大家有个疑问,中间绿色的http是固定的吗,为什么这样写。

我简单的回答一下大家,我有可能说的不对,这块我也不确定。

按住CTRL键,点击Remote里面有源码。红框里的就是,复制下来就行了,因为我们直接写脚本是不可能直接控制手机的,别忘了我们是要把脚本传给appium,让appium下达指令,所以我要借助appium,刚打开的appium就有我们需要的4723

5.操作他来了

1.查找元素

find_element(AppiumBy.ID,"ID值")

find_element(AppiumBy.XPATH,"XPATH值")

最常用的就是这两种,就讲这两种吧。上面为查找元素的新写法,旧写法selenium基础中有。

Selenium基础用法

2.基本的操作元素

send_keys("输入的内容"):输入

clear():清除文本

text:获取元素文本内容

click():点击

get_attribute(属性的名称):获取属性的值

location:获取元素左上角的坐标

size:获取元素的宽高

这些我就不演示了,相信小伙伴们都很聪明

3.加强的基本操作元素

swipe():滑动

根据坐标滑动,开始的x和y坐标和结束的x和y坐标

duration是持续时间,这个可写 可不写,因为他不写默认的是600毫秒

scroll():滚动

scroll与swipe的作用是一样的,但是scroll是根据元素进行滚动,不能准确定位

drag_and_drop():拖拽

4.TouchAction

这个方法被弃用了,但是现在还能使用就是报警告。有可能python版本再高的的话就不能使用了,但初学阶段我就会这种方法,大家见谅。python建议用w3c,但我现在还不会。

1.先导包然后实例化对象,这可不能少。

2.接下来操作元素

press(元素):点击

wait(等待秒数):等待

move_to(元素):移动

release():松手

tap(可设置点击数):轻敲   这个就不放实际操作了,下面解释一下咋用

例如:手机上有一个计数按钮,点几下按钮就显示几下的点击数,这个时候就可以用tap(元素,count=要点击几下)

偷点懒,实例就是我的另一篇博客,自动绘制锁屏,连接放在下面了。

TouchAction操作案例:   appium自动化绘制锁屏图案_码猴。的博客

6.其他操作

device_time:获取手机时间

get_window_size():获取屏幕大小

network_connection:获取网络信息  按住CTRL键点击network_connection,就可以查看,输出的值的含义 Date是数据网络  wifi是无线  Airplane Mode是飞行模式 0代表没有 1代表有 only是仅有

 get_screenshot_as_file/save_screenshot(图片路径):截图

open_notifications():打开通知栏  通知栏都知道吧,玩了这么多年手机不可能不知道从顶部往下滑,出来的那叫通知栏吧。

所有操作的代码

 7.补充按键操作

除了点按钮什么的我们还需要小键盘上的按键

其实有些手机上的搜索框后面并没有那种能点击搜索的图标,我们只能借用小键盘的回车按键去搜索。

导包:from appium.webdriver.extensions.android.nativekey import AndroidKey

AndroidKey.按键(按键有很多,回车、字母等等)

总结:

自我感觉这篇博客写的有点差,有可能是对appium还没掌握牢固,最重要的一个原因是这篇用了很多天才写完,五一之前写了一半,五一就玩了两三天才写的另一半,所以前后有可能有很大的差距,如有写的不好,请多多体谅、多多指教。

工具及自己用xmind记的笔记

链接:https://pan.baidu.com/s/1GQ16eWwtDdHqXUWkif3GQw 
提取码:ljh6

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值