Appium_第一个实例运行

     有段时间没有使用appium了,最近发现appium的内容更新了很多,而我是一个做android自动化测试的,正好用appium小试一把;

我的过程为:

1.首先创建一个java工程,然后把实例代码复制进去,第一个工程主要验证环境是否有问题;(从githun下把appium的代码https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium加入到我的工程中,代码中的路径跟包名大家要修改好)

2.导入包,

 说明:

我首先导入的是java-client-2.0,0.jar这个包,导入后代码driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);会提示错误“Cannot instantiate the type AppiumDriver”,看有的文章是说“Appium2.0.0把AppiumDriver这个类改成了抽象函数,所以导致了这个问题 ”(参考:http://www.bkjia.com/Androidjc/888290.html)

3.导入包以后开始运行程序,运行后提示错误如下:

“Error: Android devices must be of API level 17 or higher”,说明模拟器或者手机设备需要API Level 17及其以上的才可以;

我复制的源代码如下:

package com.saucelabs.appium;
import io.appium.java_client.AppiumDriver;
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.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.io.File;
import java.net.URL;
import java.util.List;
public class AndroidContactsTest {
    private AppiumDriver driver;
    @Before
    public void setUp() throws Exception {
        // set up appium
        File classpathRoot = new File(System.getProperty("user.dir"));
        File appDir = new File(classpathRoot, "./apps/ContactManager");
        File app = new File(appDir, "ContactManager.apk");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("deviceName","Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("appPackage", "com.example.android.contactmanager");
        capabilities.setCapability("appActivity", ".ContactManager");
        driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }
    @After
    public void tearDown() throws Exception {
        driver.quit();
    }
    @Test
    public void addContact(){
        WebElement el = driver.findElement(By.name("Add Contact"));
        el.click();
        List<WebElement> 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);
        driver.findElementByName("Save").click();
    }
}

这样执行的话仍然会出现问题,错误提示为“java.lang.NoClassDefFoundError: com/google/gson/JsonParser”

需要导入google gson jar包,下载地址:http://www.java2s.com/Code/Jar/g/Downloadgson224jar.htm(本人导入的是1.7.1的jar包,工作正常)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值