学习一下Appium 常用方法介绍

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

1.1 点击操作

WebElement button = driver.findElement (By.id(“login”));
或者
WebElement button = driver.findElementById(“login” )
//然后执行点击操作
button.click();

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

1.2清除操作

WebElement username = driver.findElement (By.name( “username input” )),
或者
WebElement username = driver.findElementName(“username input”);username.clear():

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

1.3 获得元素属性的值

getAttribute(String name)这个方法。
代码如下:

WebElement username = driver.findElement(By.id(“u”));
或者  
WebElement username = driver.findElementId(“u”);username. getAttribute(“XXXXX”);

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

1.4 获取元素文本

登录按钮的源码:
WebElement 中提供一个 getText()方法可以获取,代码如下:WebElement login= driver.findElement (By.id(“loginBtn”));
或者
WebElement login= driver.findElementId(“loginBtn” );login. getText():

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

1.5元素是否显示

判断这个页面元素是不是显示出来了。
方法有个返回值类型是 boolean,也就是说如果元素显示了返回 true,如果没有显示返回 false。

WebElement login= driver.findElement (By.id(“loginBtn” ));
或者
WebElement login= driver.findElementId(“loginBtn” );
//webview 或者原生 app 都通用
login.isDisplayed();   

1.6 元素是否被选择

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

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()方法.

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

1.8 提交操作

在有表单的的界面上,可以不通过点击按钮进行提交操作,这就需要用到submit0方法
比如一个 webview 元素的源码:

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

WebElement login= driver.findElement (By.id( “loginBtn” ));
或者
WebElement login= driver.findElementByld( “loginBtn”);
//webview 和原生的 app 提交按钮通用
login. submit ();

1.9 滑动操作

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

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

1.10 设置等待页面加载完毕

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

1.11 Spinner 下拉菜单选择

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

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

1.11 锁定屏幕

driver.lockDevice();


1.12 将 app 置于后台运行

driver.runAppInBackground(int seconds);


1.13 启动 Activity

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

driver.startActivity("appPackage","com example.android. apis", null,null);

你可能感兴趣的:(漫谈测试,学习,appium)