返回顶部
首页 > 资讯 > 精选 >appium常用元素定位技巧是什么
  • 406
分享到

appium常用元素定位技巧是什么

2023-06-05 00:06:59 406人浏览 薄情痞子
摘要

本篇内容介绍了“appium常用元素定位技巧是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Appium对于处理原生的Android应用

本篇内容介绍了“appium常用元素定位技巧是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Appium对于处理原生的Android应用直接通过uiautomatorviewer.bat这个工具来获取元素定位。

在开始appium元素定位的话题之前,首先让我们了解下appium的一些基础知识:

一、测试对象

appium 是一个自动化测试开源工具,支持iOS和 Android平台上的原生应用,WEB应用和混合应用。

移动原生应用:单纯用ios或者android开发语言编写的、针对具体某类移动设备、可直接被安装到设备里的应用,一般可通过应用商店获取;

移动web应用:使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome),不需要下载到设备上,而是通过浏览器直接访问;

混合应用:同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用。

二、支持平台及语言

appium是跨平台的,支持OSX,windows以及linux系统。它允许测试人员在不同的平台(iOS,Android)使用同一套api来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性 

appium支持多语言,采用C/S设计模式,只要满足client能够发送Http请求给server即可

三、元素定位

格式:find_element_by_定位方式(value)

我根据手机自带的计算器来解释

appium常用元素定位技巧是什么

通过id定位

通过工具获取到按钮的 resource-id

driver.find_element_by_id('resource-id')

实例: driver.find_element_by_id(' com.android.bbkcalculator:id/clear')

通过class定位

通过工具获取到按钮的class

driver.find_element_by_class_name('class')

实例: driver.find_element_by_class_name(' android.widget.ImageButton ')

通过text定位

appium1.5及之后的版本废弃了name属性(如name=百度一下,需要使用uiautomator的定位方式,使用text的内容)

driver.find_element_by_android_uiautomator("text(\中文\)")

实例:driver.find_element_by_android_uiautomator ("text(\"百度一下\")")

备注:需要确认这个中文是当前页面唯一值,否则还是定位不到,注意写法,不是直接把中文复制进去

通过xpath定位

driver.find_element_by_xpath("xpath内容 ")

实例:driver.find_element_by_xpath("//android.widget.FrameLayout/android.widget.ImageButton[4]")

以下方式暂时没有用到,如果有问题以后会更改

通过accessibility_id

在UI Automator Viewer界面上并没有找到这个字段,这个对应的字段是content-desc

driver.find_element_by_accessibility_id("accessibility_id")

没有找到实例,要是自己写自动化的APP碰到了,可以用用

通过CSS_selector定位(webview)

只适用于webview的html页面,继承自webdriver,与pc版本的UI测试一致

driver.find_element_by_css_selector()

通过link_text定位(webview)

只适用于webview容器中的html页面,继承自webdriver,与pc版本的UI测试一致

driver.find_element_by_link_text()

通过name定位

只适用于webview容器中的html页面,继承自webdriver,与pc版本的UI测试一致

driver.find_element_by_name()

定位元素的另一种写法:find_element(by,value)

find_element_by_方式(value)实际调用的都是find_element(by,value)

需要导入这个包:from selenium.webdriver.common.by import By

例如:定位id为ag2的元素

方式一:driver.find_element_by_id("ag2”)

方式二:driver.find_element(By.ID,"ag2")

这个操作的好处是可以直接把操作的by和value放到一个元组里,然后调用通用方法来传参获得元素结果。

cateid=(By.ID,"ag2")

driver.find_element(*cateid).click()

by的操作可以是:

By.ID 相当于by_id

By.CLASS_NAME 相当于by_class_name

By.XPATH 相当于by_xpath

By.NAME 相当于by_name

By.TAG_NAME 相当于by_tag_name

By.CSS_SELECTOR 相当于by_css_selector

By.LINK_TEXT 相当于by_link_text

find_elements_by_定位方式(value)返回元素数组

用法与find_element_by_方式(value)一致,但是返回一个数组。可以通过数组的索引来访问具体的某个结果。

例如:通过class_name定位到多个元素,我想点击第一个元素

driver.find_elements_by_class_name("android.widget.RelativeLayout”)[0].click()

返回元素数组的另一种写法:find_elements(by,value)

用法与find_element(by,value)一致,但是返回一个数组。可以通过数组的索引来访问具体的某个结果。

例如:通过class_name定位到多个元素,我想点击第一个元素

driver.find_elements(By.CLASS_NAME,"android.widget.RelativeLayout”)[0].click()

通过元素定位元素

可以先找到某个元素,然后再进一步定位元素

find_element_by_class_xpath(“xxx”).find_element_by_name(“yyy")

四、元素操作

找到元素后可以对元素进行的操作,例如上面讲的进一步定位元素

click()

//点击操作

也可以用tab实现点击操作

driver.find_element_by_id("com.wuba.zhuanzhuan:id/ae8").click()

clear()

//清空输入框内容

driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").clear()

send(xx)

//输入框内输入内容

driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").send_keys("test content")

text

//获得元素的text内容

print(driver.find_element_by_xpath(" //android.widget.LinearLayout[1]//xxx").text)

“appium常用元素定位技巧是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: appium常用元素定位技巧是什么

本文链接: https://lsjlt.com/news/240516.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • appium常用元素定位技巧是什么
    本篇内容介绍了“appium常用元素定位技巧是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Appium对于处理原生的android应用...
    99+
    2023-06-05
  • 学会实现元素的固定定位,掌握固定定位元素的步骤和技巧
    如何实现元素的固定定位?掌握实现元素固定定位的方法和步骤 在网页设计和开发中,元素的位置布局是非常重要的一部分。很多时候,我们希望某个元素在页面滚动时保持固定位置,即元素会随着页面滚动而滚动,但在滚动过程中仍保持固定的位置。这时...
    99+
    2024-01-20
    实现方法 固定定位 元素定位
  • css伪元素的实用技巧是什么
    本篇内容介绍了“css伪元素的实用技巧是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.定义:伪元素用于创建一些不在文档树中的元素,并...
    99+
    2023-06-03
  • PHP数组快速定位特定元素的技巧与策略
    php 数组快速定位元素技巧:使用 in_array() 函数检查元素是否存在。使用 array_key_exists() 函数检查键是否存在。使用 array_search() 函数查...
    99+
    2024-04-30
    php 数组
  • css中元素的定位方法是什么
    css 中元素定位方法有:正常流定位:元素保持在正常流中。相对定位:元素相对于其原始位置移动。浮动定位:元素从流中移除,但保持宽度。绝对定位:元素从流中移除,相对于已定位祖先元素定位。固...
    99+
    2024-04-26
    css 排列 绝对定位 固定定位
  • HTML布局技巧:如何使用定位布局进行元素固定
    在Web开发中,合理的布局是非常重要的。定位布局是一种常用的技术,它可以让我们将页面中的元素放置在想要的位置,并且可以实现元素的固定。本文将介绍如何使用定位布局进行元素固定,并提供具体的代码示例。定位布局有两种常用的方式:相对定位(rela...
    99+
    2023-10-21
    HTML布局 定位布局 元素固定
  • HTML布局技巧:如何使用position属性进行元素定位
    在网页设计和布局过程中,我们经常需要对元素进行定位,以实现不同的布局效果。其中,position属性是CSS中的一个关键属性,它可以用来指定元素的定位方式、位置和相对于其他元素的关系。本文将介绍如何使用position属性进行元素定位,并提...
    99+
    2023-10-21
    html 布局 position
  • css常用技巧是什么
    小编给大家分享一下css常用技巧是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、三角形列表项目符号ul  {&...
    99+
    2024-04-02
  • 掌握固定定位技巧,让你的网页元素稳如山峰
    学会固定定位方式,让你的网页元素稳如磐石,需要具体代码示例 在设计网页时,经常会有一些需要固定在页面上的元素,如导航栏、侧边栏或者广告横幅等。这些元素需要保持在页面的固定位置,不随页面滚动而移动。固定定位(fixed posit...
    99+
    2024-01-20
    网页元素 固定定位 稳如磐石
  • HTML布局技巧:如何使用定位布局进行元素控制
    引言:在网页设计和开发中,布局是非常重要的一部分。HTML和CSS提供了多种布局方法,其中定位布局是最常用的之一。通过定位布局,我们可以精确控制元素在网页中的位置和大小。本文将介绍如何使用定位布局进行元素控制,并提供具体的代码示例。一、CS...
    99+
    2023-10-21
    元素控制 定位布局 HTML布局技巧
  • 常用html元素结构是什么
    这篇文章主要介绍常用html元素结构是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 这次给大家带来常用html元素结构有哪些,使用常用html元素...
    99+
    2024-04-02
  • 解读绝对定位属性:探索在网页中精确定位元素的css技巧
    绝对定位属性CSS解密:揭秘定位元素在页面中的精确定位技巧,需要具体代码示例 引言:在前端开发中,布局是非常重要的一部分。而在布局中,定位元素的精确定位是非常关键的技巧。本文将带您深入了解绝对定位属性CSS,并解密如何使用这一属...
    99+
    2024-01-23
  • 使用绝对定位元素实现自由网页布局技巧的指南
    标题:绝对定位元素:解锁网页布局的自由度 摘要:绝对定位元素是一种常用的CSS布局技术,它能够将元素精确地放置在网页上的指定位置,从而实现更灵活自由的网页布局。本文将介绍如何运用绝对定位元素来实现网页布局的自由度,并给出具体的代...
    99+
    2024-01-23
    自由度 网页布局 绝对定位
  • selenium环境搭建及基本元素定位的方法是什么
    今天小编给大家分享一下selenium环境搭建及基本元素定位的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、s...
    99+
    2023-07-05
  • HTML怎么相对于一个元素的正常位置来对其定位
    今天小编给大家分享一下HTML怎么相对于一个元素的正常位置来对其定位的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2024-04-02
  • HTML中怎么利用定位使元素居中
    小编给大家分享一下HTML中怎么利用定位使元素居中,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者使用。2、可扩展性:超...
    99+
    2023-06-08
  • css定位使用常见问题是什么
    这篇文章主要介绍css定位使用常见问题是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css中的定位类型一览position这个css属性允许我们指定元素的定位类型。css定位选...
    99+
    2024-04-02
  • 隐藏Html元素最常用的方法是什么
    隐藏Html元素最常用的方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1,使用css代码如下:style="display...
    99+
    2024-04-02
  • Golang单元测试中的技巧是什么
    这篇文章主要讲解了“Golang单元测试中的技巧是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang单元测试中的技巧是什么”吧!打桩测试当我们在编写单元测试的时候,有时我们非常想...
    99+
    2023-07-05
  • float元素的父元素不能指定clear属性是什么原因
    小编给大家分享一下float元素的父元素不能指定clear属性是什么原因,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作