美文网首页
AndroidContactsTest.java文件修改

AndroidContactsTest.java文件修改

作者: 来斤二锅头 | 来源:发表于2020-03-14 16:06 被阅读0次

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平台的样例程序,即联系人管理小应用。

2、进入主题

我在E:\AppiumForWindows\sample-code-master\sample-code-master\sample-code\examples\java\junit\src\test\java\com\saucelabs\appium这个路径下找不到AndroidContactsTest.java文件,于是网上复制来了下面的代码,并进行修改,添加到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环境下,可以使用appium的inspector轻松定位元素,甚至直接得到xpath;但是对于Android环境,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); //猜测这个swipe是为了显示出被键盘遮挡住的save按钮,可以用driver.hideKeyboard();替代。

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

    }

}

要修改1和2两个位置,分别修改成

1------private AppiumDriver driver;

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

相关文章

网友评论

      本文标题:AndroidContactsTest.java文件修改

      本文链接:https://www.haomeiwen.com/subject/ryywshtx.html