美文网首页
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