前提

没有的包,要先进行对应包的安装

如:pip install Appium-Python-Client

一、定位元素,包括属性定位xpath定位方式

a\属性定位

属性 定位方式     示例
content-desc AccessibilityID driver.find_element(By.AccessibilityID,'书城')
Class name& Tag name Class name  
resource-id(安卓) ID  
name(IOS) ID  
import time
from appium.webdriver import Remote
from appium.webdriver.common.mobileby import MobileBy as By rl = "http://127.0.0.1:4723/wd/hub"
caps = {
"platformName": "Android",
"platformVersion": "10.0.0",
"deviceName": "xxxxx",
"appPackage": "comxxxx",
"appActivity": "com.zxxx.MainActivity",
"newCommandTimeout": 10,
# "noReset": True # 注释掉,是因为我需要每次进入的时候,没有任何书籍在书架中
}
driver = Remote(url, caps) ele = driver.find_element(By.ACCESSIBILITY_ID, "书城")

b\路径定位

  根据元素之间的层级关系(或者说路径)进行定位,是appium里目前适用性最高的定位方式

如:

driver.find_element(By.XPATH,'//android.widget.FrameLayout[@resourceid="android:id/content"]')

c\拓展 之 元素内定位

  当元素内还包含一个或多个其他元素内,就可以先定位到该元素,然后再通过该元素去定位其下面的元素,这种方式就叫元素内定位。

下面用一段伪代码来说明:

ele=driver.find_elements(By.XPATH,xpath)
ele[1].find_element(By.ID,'xxxx')

二、元素的操作

1、元素的点击

ele.click()

2、输入

ele.send_keys('输入的值')

3、获取文本

ele.text

4、元素截图

ele.screenshot('name.jpg')

5、获取元素属性

ele.get_attribute("text")
ele.get_attribute("class")
ele.get_attribute("displayed")
ele.get_attribute("content-desc")

6、其他一些比较重要的属性

ele.location #The location of the element in the renderable canvas.
ele.size #The size of the element. print(ele.location) # 元素的位置属性 {'x': 606, 'y': 108}
print(ele.size) # 元素的尺寸属性 {'height': 115, 'width': 132} # 确定元素的操作点,一般是:元素的中心点
# 其计算公式是: (x+width/2,y+height/2)

 

三 appium的系统操作

1、返回 driver.back()

2、滑动 driver.swipe(700,1700,700,500)

3、截图 driver.save_screenshot("整体截图.png")

3、app自动化:使用appium定位元素的方式及元素的常用操作的更多相关文章

  1. APP自动化框架LazyAndroid使用手册(2)--元素自动抓取

    作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...

  2. APP 自动化之appium元素定位(三)

    APP自动化测试关键环节--元素定位,以下我们来了解appium提供的元素定位方法! 1. id定位,id一个控件的唯一标识,由开发人员在项目中指定,如果一个元素有对应的resource-id,我们就 ...

  3. 【APP自动化】Appium Android 元素定位方法 原生+H5

    参考资料: http://blog.csdn.net/vivian_ljx/article/details/54410024

  4. App 自动化,Appium 凭什么使用 UiAutomator2?

    1. UiAutomator2 是什么 可能很多人对 UiAutomator2 和 UiAutomator 傻傻分不清楚 UiAutomator 是 Google 开发的一款运行在 Android 设 ...

  5. App自动化之坐标定位

    1.如下图定位"去看看"这个按钮的坐标,可以看到右侧bonds属性:[374,831][654,906] 2.点右上角"搜索"按钮,查看bonds属性:[615 ...

  6. APP自动化1——Appium+pycharm自动化环境搭建全流程

    1. 安装python3,pycharm,可参考之前写的文档:https://www.cnblogs.com/chenweitoag/p/13154815.html 2. 准备以下必要工具: 基于wi ...

  7. App自动化测试之Appium环境安装(涉及雷电模拟器和真机)

    1.安装Microsoft .NET Framework 4.5 及以上版本 2.安装Appium 官方网站地址:http://appium.io/ 我装了1.17.0版本 3.安装JDK 1.8及以 ...

  8. 移动端自动化测试之Appium实战

    软件工程的趋势:目前大部分企业的软件研发模式是持续交付,而自动化是持续交付的根基,而且不仅仅是测试要自动化,所有的环节都在自动化,自动化是未来的方向这一点已成为行业共识. 之前咱们已经讲过了AppCr ...

  9. App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...

  10. App自动化之dom结构和元素定位方式(包含滑动列表定位)

    900×383 38 KB 先来看几个名词和解释: dom: Document Object Model 文档对象模型 dom应用: 最早应用于html和js的交互.界面的结构化描述, 常见的格式为h ...

随机推荐

  1. 利用Git+GitHub进行团队协作开发

    自己之前写过两篇关于Git和GItHub使用的文章,分别是 浅谈使用git 进行版本控制博客链接:https://www.cnblogs.com/wj-1314/p/7992543.html 使用Gi ...

  2. Zstack和vmware的初步印象对比

    先不说话,直接上截图吧,vmware的: zstack的: 读者不知道看出什么名堂没有?把浏览器缩放调到50%,vmware的产品线两页截屏还装不下:zstack虽然也要两屏,但都是块块,大致数了数, ...

  3. 开源免费视频会议Jitsi-meet介绍

    Jitsi Meet 是基于WebRTC技术的开源语音.视频会议和即时消息服务 Jitsi 集合的一部分.通过 Jitsi Meet,你可以即刻主持群组视频通话(即视频会议),你甚至都不需要建立帐户. ...

  4. Solon2 之基础:一、常用应用配置说明

    约定参考: //资源路径约定(不用配置:也不能配置) resources/app.yml( 或 app.properties ) #为应用配置文件 resources/WEB-INF/static/ ...

  5. 网页实时显示已经运行了多少天 html+js

    以下为html代码: 放在body标签里面 <a>本站已经运行<a id="days">0</a>天</a> 以下为js代码: 放在 ...

  6. 软件设计原则(Principles)

    设计模式的从许多优秀的软件中总结出来的 , 使用设计模式能够实现可复用.可维护.开发人员之间方便沟通设计和理解代码. Tips 对于模式的使用 , 不能拘泥于格式 , 事实上根据需要模式是可以演化的 ...

  7. 《HelloTester》第2期

    1.前言 饭前喝汤:如果你的月薪低于1万,不要总想着"新机会",而更加重要的是"练手艺".当你有了一定的手艺可以施展,机会自然存在! 读了之前的简历篇,我想你对 ...

  8. dot & pixel & point

    dpi(dot per inch): 出版质量一般要求dpi在300-600之间. 100dpi = 39.37dpc(dot per cm) 在显示屏幕上,dot=pixel,对于100dpi分辨率 ...

  9. golang实现简单的聊天室

    一.server端 package main import ( "fmt" "net" ) var message = make(chan string) ty ...

  10. classmethod 修饰符

    title: Python classmethod 修饰符 author: 杨晓东 permalink: classmethod date: 2021-10-02 11:27:04 categorie ...