Appium

一、capabilities设置与启动html

①启动本地服务器node

②启动检查器python

③填入相应的参数web

 

deviceName获取方式:adb devices服务器

appPackage获取方式:aapt dump badging + 包名app

appActivity获取方式:aapt dump badging + 包名dom

快速匹配:aapt dump badging + 包名 | find “launchable-activity”spa

 

关于跟手机创建链接:.net

https://blog.csdn.net/JOJOY_tester/article/details/72081905debug

 

Appium几种定位元素的方法:

一、id定位

二、元素定位

①name、classname定位

②相对定位

 

三、xpath定位('//*[@类名="xxx"]')

 

XPath使用路径表达式从XML文档中选择一个或多个节点的列表。如下是有用的路径和表达,从XML文档选择节点的任何节点/列表清单。

表达式 描述
node-name 选择具备给定名称的全部节点“nodename”
/ 选择从根节点开始
// 选择从当前节点匹配开始的选择
. 选择当前节点
.. 选择当前节点的父节点
@ 选择属性
student 例如:选择名称为“student”的全部节点
class/student 例如:选择属于类的全部学生的子类元素
//student 选择文档中全部学生的元素

谓词

谓词用于查找特定的节点或一个节点含有特定的值,并使用所定义 [...] .

表达式 结果
/class/student[1] 选择的是类元素的子第一个学生的元素
/class/student[last()] 选择的是类元素的子最后一个学生的元素
/class/student[last()-1] 选择的是类元素倒数的第二个学生的子元素
//student[@rollno='493'] 选择一个名为rollno为'493'值的属性的学生元素

 

xpath匹配符

通配符 描述
* 匹配任何元素节点
@* 匹配任何属性节点
node() 匹配任何类型的节点
   

 

四、list定位

find_elements_by_xx (多个元素定位)

 生成随机的帐户:用到random

 

 

五、Uiautomator定位

 

 元素等待

http://www.cnblogs.com/mengyu/p/6972968.html

①强制等待

设置固定的等待时间,使用sleep()方法实现

from time import sleep

# 强制等待5秒

sleep(5)

 

②隐式等待

隐式等待是针对所有元素设置的等待时间

driver.implicitly_wait(2)  # 等待2秒

③显式等待 

 显式等待是针对某个元素来设置的等待时间

 

 

 Toast元素识别

 

 

H5元素搭建

 

 

屏幕截图

driver.save_screenshot() 保存截图到当前路径

driver.get_screenshot_as_file() 保存截图到指定路径

 

appium滑动操做

 

连续滑动

TouchAction

先导入对应的模块:

from appium.webdriver.common.touch_action import TouchAction

对应操做的方法:

短按:press()  按压一个元素或坐标

TouchAction(driver). press(x,y) 

长按:longpress()  比按压多个一个duration(按压时间)时间参数,以毫秒为单位

TouchAction(driver).longpress(x,y,1000) 

点击:tap()

移动:move_to()

暂停:wait() 等待时间,单位毫秒

释放:release() 结束屏幕上的一系列动做的命令操做

执行:perform() 讲执行的操做发送到服务器的命令操做

组合示例:

TouchAction(driver). press(x,y) .wait(1000).move_to(x2,y2).release() #点击->等待1000毫秒->移动->释放

 

地图缩放

 MultiAction

导入

from appium.webdriver.common.multi_action import MultiAction

 

 

 

capabilities更改成yaml

官网下载地址:https://pypi.org/project/pyaml/

pip install pyyaml  安装yaml

若是遇到报:

 处理方法:

 

 

安装完毕后检测是否安装成功 cmd->python->import yaml

 

  

日志收集

 

 

 首先咱们日志须要按照info、debug、error等级别来进行区分的。固然这个级别能够本身去设置。在通常的状况下咱们普通的输出咱们直接用info类型,调试的时候用debug类型,若是预计有错误时那么咱们就须要用error类型的日志,通常状况去info级别最为合适。

日志格式化是为了提升日志的可阅读性,好比:时间+模块+行数+日志具体信息 的内容格式。若是日志信息杂乱无章的所有输出来,这样也不利于定位问题。以下所示就是日志格式化输出,很是便于阅读查看。

相关文章
相关标签/搜索