关灯
论坛
BBS
门户
Portal
导读
互联网+
VIP会员
搜索
本版
文章
帖子
用户
登录
注册
快捷登录
投稿
得知资讯
SEO/SEM
直播带货
电子商务
得知互动
›
探讨放松
›
打酱油
›
了解:技术分享 | app自动化测试(Android)--App 控件 ...
返回列表
[我要爆料]
了解:技术分享 | app自动化测试(Android)--App 控件交互
[复制链接]
xinshangren
发表于 2022-6-20 11:56:26
|
显示全部楼层
|
阅读模式
原标题:技术分享 | app自动化测试(Android)--App 控件交互
薅羊毛
https://www.aznfz.com/冰狐智能辅助一站式app自动化解决方案,支持SaaS和微服务,不需编程通过搭积木和参数配置即可快速实现各种app自动化操作,比如:自动运营店铺,自动签到,自动薅羊毛,自动回复,自动化测试,抓取app数据,
微信
营销,网络推广,抢红包等功能!
登录/注册后可看大图
本文节选自霍格沃兹测试开发学社内部教材 Appium 提供了大量的 API 去操作页面及页面上的节点,比如点击、输入、滑动等。 常用操作 点击操作 通常获取到元素之后,可以调用 click() 方法来实现对这个元素的点击操作。示例代码如下: python 版本 driver.find_element_by_id("home_search").click() Java 版本 driver.findElementById("home_search").click(); 输入操作 输入操作示例代码如下: python 版本 self.driver.find_element_by_id("search_input_text").send_keys("阿里巴巴") Java 版本 driver.findElementById("search_input_text").sendKeys("阿里巴巴"); 效果展示: 获取元素属性 通过获取到的元素属性信息,可以进行页面数据的验证(断言),或者用于分支判断。 元素有很多属性信息,无论是使用 uiautomatorviewer 还是使用 Appium Inspector,元素的属性信息一般都会展示在页面的右下方。 如下图是 Appium Inspector 的元素定位页面: 可以使用获取元素的属性的方法来获取这些属性信息。然后通过获取到的元素属性值进行断言,也可以获取到复选框是否被选中的状态,或者获取某个元素是否可用等信息。 获取 TEXT 属性 返回元素的 text 的属性值,用法如下: Python 版本 self.driver.find_element_by_xpath( '//*[@resource-id="com.xueqiu.android' ).get_attribute('text') Java 版本 driver.findElementByXPath\ "http://*[@resource-id="com.xueqiu.android"]").\ getAttribute("text"); 获取 CLASS 属性 返回元素的 class 的属性值,用法如下: Python 版本 self.driver.find_element_by_xpath( '//*[@resource-id="com.xueqiu.android"]' ).get_attribute('class') Java 版本 driver.findElementByXPath("\ //*[@resource-id="com.xueqiu.android"]")\ .getAttribute("class"); 获取 RESOURCE-ID 属性 返回 resource-id 的属性值(API≥18 支持),用法如下: Python 版本 self.driver.find_element_by_xpath( '//*[@resource-id="com.xueqiu.android"]' ).get_attribute('resource-id') Java 版本 driver.findElementByXPath\ ("http://*[@resource-id="com.xueqiu.android"]")\ .getAttribute("resource-id"); 获取 CONTENT-DESC 属性 返回元素的 content-desc 的属性值,用法如下: Python 版本 self.driver.find_element_by_xpath( '//*[@resource-id="com.xueqiu.android' ).get_attribute('content-desc') Java 版本 driver.findElementByXPath\ ("http://*[@resource-id="com.xueqiu.android"]")\ .getAttribute("content-desc"); 获取元素的其它属性 也可以获取到元素的一些其它的属性,比如这个元素是否可见,是否被选中,是否可用等,下面介绍这些属性值的获取: python 版本 get_attribute('clickable') # 是否可点击 get_attribute('checked') # 是否被选中 get_attribute('displayed') # 是否显示 get_attribute('enabled') # 是否可用 Java 版本 getAttribute("clickable"); // 是否可点击 getAttribute("checked"); //是否被选中 getAttribute("displayed"); // 是否显示 getAttribute("enabled"); // 是否可用 获取页面的XML结构 获取页面的 XML 结构,大部分情况是用于页面数据的验证。另外也可以通过分析页面的结构,辅助定位问题。 通过 driver.page_source 可以获取页面的 XML 结构。与 Selenium 输出的 HTML 格式不一样,Appium 的 page_source 是 XML 格式。 示例代码如下: PYTHON 版本 from appium import webdriver def test_search(self): # 点击搜索 self.driver.find_element_by_id( "com.xueqiu.android:id/tv_search").click() # 输入内容“alibaba” self.driver.find_element_by_id( "com.xueqiu.android:id/search_input_text").send_keys("alibaba") # 打印输出 class 属性 print(self.driver.find_element_by_xpath( '//*[@resource-id="com.xueqiu.android') .get_attribute('class')) # 打印输出页面源码 print(self.driver.page_source) JAVA 版本 import io.appium.java_client.android.AndroidDriver; @Test public void searchTest(){ // 点击搜索 driver.findElement(By.id("com.xueqiu.android:id/tv_search")).click(); // 输入内容“alibaba” driver.findElement(By.id("com.xueqiu.android:id/search_input_text"))\ .sendKeys("alibaba"); // 打印输出 class 属性 System.out.println(driver.findElementByXPath(\ "http://*[@resource-id="com.xueqiu.android"]").getAttribute("class")); // 打印输出页面源码 System.out.println(driver.getPageSource()); } 上面的代码创建了一个测试方法,先定位到搜索框,向搜索框中输入内容,通过获取属性方法获取到搜索结果的 class 属性,最后获取页面的布局源码。 > 你好呀,喜欢这篇文章的话记得点个“赞”哦!大家的支持很重要~(^▽^) PS:有问题可以联系我们哦~v ceshiren001 https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=souhu×tamp=1655167932&author=QY返回搜狐,查看更多 责任编辑: 2022/6/20
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
xinshangren
0
关注
0
粉丝
170612
帖子
热门图文
分享34大行业+9大岗位中英文简历模板【找工
热门帖子
软文/推广
明白:《暗黑破坏神:不朽》评测:刷刷刷也
软文/推广
解读附近超赞足浴店推荐
软文/推广
聊聊搬家公司如何安排搬运人员
软文/推广
懂得:降温来袭 7部治愈系电影在寒夜里给你
软文/推广
深入了解电容器在AutoCAD中的建模与设计技
软文/推广
通过智能门磁报警器,实现家庭安全监控与实
软文/推广
新闻:确保电路稳定性与设备安全性的重要步
软文/推广
叙述:深入探讨电容器的基本原理及其广泛应
300x180 AD
排行榜
日
周
月
1
分享34大行业+9大岗位中英文简历模板【找工
简历模板(模板+简历指导课程+实用小图标)包括: 1.34大行业+9大岗位简历模板(中文
0
0
1
分享34大行业+9大岗位中英文简历模板【找工
简历模板(模板+简历指导课程+实用小图标)包括: 1.34大行业+9大岗位简历模板(中文
0
0
1
分享34大行业+9大岗位中英文简历模板【找工
简历模板(模板+简历指导课程+实用小图标)包括: 1.34大行业+9大岗位简历模板(中文
0
0
作者专栏
170485
xinshangren
114917
wuhen
98216
sangeren
95853
menglihua
56907
msmkmm2012
快速回复
返回顶部
返回列表