学习一下Appium 常用方法介绍

由于 appium 是扩展了 Webdriver 协议,所以可以使用 webdriver 提供的方法,比如在处理 webview 页面,完全可以使用 webdriver 中的方法。当然在原生应用中,也可以使用。

1.1 点击操作

python 复制代码
WebElement button = driver.findElement (By.id("login"));
或者
WebElement button = driver.findElementById("login" )
//然后执行点击操作
button.click();

由元素对象调用 click()方法。

1.2清除操作

python 复制代码
WebElement username = driver.findElement (By.name( "username input" )),
或者
WebElement username = driver.findElementName("username input");username.clear():

当执行这个方法的时候,输入框的内容会被清空。

1.3 获得元素属性的值

getAttribute(String name)这个方法。

代码如下:

python 复制代码
WebElement username = driver.findElement(By.id("u"));
或者  
WebElement username = driver.findElementId("u");username. getAttribute("XXXXX");

这样就可以获得XXXX 的属性值了。

1.4 获取元素文本

python 复制代码
登录按钮的源码:
<button class="btn btn-major" id="loginBtn" type="button">登录</button>WebElement 中提供一个 getText()方法可以获取,代码如下:WebElement login= driver.findElement (By.id("loginBtn"));
或者
WebElement login= driver.findElementId("loginBtn" );login. getText():

这样就能获取"登录"文本了。

1.5元素是否显示

判断这个页面元素是不是显示出来了。

方法有个返回值类型是 boolean,也就是说如果元素显示了返回 true,如果没有显示返回 false。

python 复制代码
WebElement login= driver.findElement (By.id("loginBtn" ));
或者
WebElement login= driver.findElementId("loginBtn" );
//webview 或者原生 app 都通用
login.isDisplayed();   

1.6 元素是否被选择

有这样的情况,复选框或者是单选框,我们需要判断这个框是不是被勾选了,此时这个方法就派上用场了。

python 复制代码
WebElement checkbox= driver.findElement (By. id( "checkbox id" ));或者
WebElement checkbox= driver.findElementld( "checkbox id" );
//webview 和原生 app 通用
checkbox.isSeelected():
checkbox.isSeelected();会有返回值,如果勾选了,返回 true,如果没有勾选返回 false。

1.7 元素是否被启用

有些按钮,可能在页面显示上被灰掉,就是不让点击,这个时候这个按钮是不可用的。那么我们如何判断这个按钮是否能被点击呢?

用isEnabled()方法.

python 复制代码
WebElement login= driver.findElement (By.id( "loginBtn" ));
或者
WebElement login= driver.findElementById( " loginBtn" );
//webview 和原生app 通用
login. isEnabled();
如果可用返回 true,如果不可用返回 false。

1.8 提交操作

在有表单的的界面上,可以不通过点击按钮进行提交操作,这就需要用到submit0方法

比如一个 webview 元素的源码:

python 复制代码
<button class="btn btn major" id="loginBtn" type="submit">登录</button>

此源码需要在一个表单(Form)中,并且 type 需要是 submit 类型,此时我们的代码可以这样写:

python 复制代码
WebElement login= driver.findElement (By.id( "loginBtn" ));
或者
WebElement login= driver.findElementByld( "loginBtn");
//webview 和原生的 app 提交按钮通用
login. submit ();

1.9 滑动操作

python 复制代码
核心代码如下:
fouchAction tAction=new TouchAction(driver):
tAction,press(400,500).waitAction(800).moveTo (50, 500).release0. perform();

使用的是 TouchAction 类,首先调用 press 方法,然后加上等待动作的缓冲时间800 毫秒,接着移动到坐标(moveTo),当移动到指定坐标点的时候,松开手释放,最后调用 perform 方法就可执行整个操作。

1.10 设置等待页面加载完毕

python 复制代码
int pageLoadTime = 10;
driver,manage().timeouts (). pageLoadTimeout (pageLoadTime,TimeUnit. SECONDS);
这段代码放在加载 driver.get(url)方法之前,等待给定的时间pageLoadTime,如果在给定时间内网页还是没有加载出来就会报错,如果在小于给定时间内加载完毕了,剩下的时间不再等待。

1.11 Spinner 下拉菜单选择

Spinner 是安卓 SDK 中的一个下拉菜单组件,它可以让用户从下拉框中选择不同值。代码如下:

python 复制代码
//点击下拉框
driver.findElement (By.id ("android:id/text1")).click ();//滑动查找直到找到 india
driver.scrollToExact("India");
//点击一下 India
driver.findElement (By.name ("India")).click();

1.11 锁定屏幕

python 复制代码
driver.lockDevice();

1.12 将 app 置于后台运行

python 复制代码
driver.runAppInBackground(int seconds);

1.13 启动 Activity

在当前应用中打开一个 activity 或者启动一个新应用并打开一个 activity只能在 Android 上使用

python 复制代码
driver.startActivity("appPackage","com example.android. apis", null,null);
相关推荐
西岸行者6 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意6 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码6 天前
嵌入式学习路线
学习
毛小茛6 天前
计算机系统概论——校验码
学习
babe小鑫6 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms6 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下6 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。6 天前
2026.2.25监控学习
学习
im_AMBER6 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J6 天前
从“Hello World“ 开始 C++
c语言·c++·学习