AndroidContactsTest.java文件修改

1、sample-code-master下載傳送門:https://github.com/appium-boneyard/sample-code

下載完成后,E:\AppiumForWindows\sample-code-master\sample-code-master\sample-code\apps\ContactManager里有ContactManager.apk,是基于Android平臺的樣例程序,即聯(lián)系人管理小應(yīng)用。


2、進(jìn)入主題

我在E:\AppiumForWindows\sample-code-master\sample-code-master\sample-code\examples\java\junit\src\test\java\com\saucelabs\appium這個(gè)路徑下找不到AndroidContactsTest.java文件,于是網(wǎng)上復(fù)制來了下面的代碼,并進(jìn)行修改,添加到src---com.saucelabs.appium里

源代碼:

package com.saucelabs.appium;

import io.appium.java_client.AppiumDriver;

import io.appium.java_client.android.AndroidDriver;

import io.appium.java_client.android.AndroidElement;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.remote.DesiredCapabilities;

import java.io.File;

import java.net.URL;

import java.util.List;

public class AndroidContactsTest {

? ? private AppiumDriver<AndroidElement> driver;// driver用AppiumDriver聲明。

? ? @Before

? ? public void setUp() throws Exception {

? ? ? ? // set up appium

? ? ? ? //File classpathRoot = new File(System.getProperty("user.dir"));

? ? ? ? File appDir = new File( "E:/package");

? ? ? ? File app = new File(appDir, "ContactManager.apk");

? ? ? ? DesiredCapabilities capabilities = new DesiredCapabilities();

? ? ? ? capabilities.setCapability("deviceName","Honor6"); //deviceName必須有,但是值可以隨意寫。

? ? ? ? capabilities.setCapability("platformVersion", "4.4");

? ? ? ? capabilities.setCapability("app", app.getAbsolutePath());

? ? ? ? capabilities.setCapability("appPackage", "com.example.android.contactmanager");//使用adb shell獲取package和activity,詳見

? ? ? ? capabilities.setCapability("appActivity", ".ContactManager");

? ? ? ? driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);//driver用AndroidDriver賦值。

? ? }

? ? @After

? ? public void tearDown() throws Exception {

? ? ? ? driver.quit();

? ? }

? ? @Test

? ? public void addContact(){

? ? ? ? WebElement el = driver.findElement(By.xpath(".//*[@text='Add Contact']"));//在iOS環(huán)境下,可以使用appium的inspector輕松定位元素,甚至直接得到xpath;但是對于Android環(huán)境,appium的inspector有很多限制。因此,需要使用UIAutomatorviewer定位元素。

? ? ? ? el.click();

? ? ? ? List<AndroidElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");

? ? ? ? textFieldsList.get(0).sendKeys("Some Name");

? ? ? ? textFieldsList.get(2).sendKeys("Some@example.com");

? ? ? ? driver.swipe(100, 500, 100, 100, 2); //猜測這個(gè)swipe是為了顯示出被鍵盤遮擋住的save按鈕,可以用driver.hideKeyboard();替代。

? ? ? ? driver.findElementByXPath(".//*[@text='Save']").click();

? ? }

}


要修改1和2兩個(gè)位置,分別修改成

1------private AppiumDriver driver;

2------File appDir = new File(classpathRoot,"/apps");

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容