appium 演示代码
来源:互联网 发布:淘宝发货地可以改吗 编辑:程序博客网 时间:2024/06/07 06:20
官方contactManager.apk演示代码终于run pass了。
1. 打开appium,连接真机,需要配置运行的程序apk地址;check on “No reset”;配置真机的device name;勾选Wait for package
2. cmd运行adb devices -l 确保真机与电脑已连接
3. appium 点击运行
4. Android Studio 右键run ...Test即可。
遇到的问题:
1. 不支持findByElement By tag name
查了说需要capabilities.setCapability("automationName","Selendroid");,但是加了以后Selendroid又需要支持别的intranet还是啥的权限,很麻烦;
后来一想既然不支持tag name,那支持别的呗。用Appium inspector看了一下,details里有class: android.widget.EditText,于是将代码改为以下即可:
// List<WebElement> textFieldsList = driver.findElements(By.tagName("textfield"));
List<WebElement> textFieldsList = driver.findElements(By.className("android.widget.EditText"));
2. 其他是appium连接真机cannot create session之类的,是因为appium需要check on "No reset"和“Wait for package”
3. 还有遇到的问题就是下载的jar包里的东西不全,额,从网上找了多个版本才解决。
注:一般的文章没有提到的需要导入junit的jar包
以下是代码:
package com.example;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium.By;import org.openqa.selenium.Capabilities;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.interactions.HasTouchScreen;import org.openqa.selenium.interactions.TouchScreen;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteTouchScreen;import org.openqa.selenium.remote.RemoteWebDriver;import java.io.File;import java.net.URL;import java.util.List;public class AndroidContactsTest { private WebDriver driver; @Before public void setUp() throws Exception { // set up appium File classpathRoot = new File(System.getProperty("user.dir")); //存放app目录:apps File appDir = new File(classpathRoot, "/src/main/java/apps"); File app = new File(appDir, "ContactManager.apk"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("device","Android"); capabilities.setCapability("deviceName","Galaxy"); capabilities.setCapability("platformName","Android"); capabilities.setCapability(CapabilityType.BROWSER_NAME, "Galaxy"); //我真机的安卓版本是4.2.2 capabilities.setCapability(CapabilityType.VERSION, "4.2.2"); //使用的是windows平台// capabilities.setCapability("automationName","Selendroid"); capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("app-package", "com.example.android.contactmanager"); capabilities.setCapability("app-activity", ".ContactManager"); driver = new SwipeableWebDriver(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.findElements(By.tagName("EditText")); List<WebElement> textFieldsList = driver.findElements(By.className("android.widget.EditText")); textFieldsList.get(0).sendKeys("wangyang"); textFieldsList.get(1).sendKeys("18872573204"); textFieldsList.get(2).sendKeys("stephenwang@gmail.com"); driver.findElement(By.name("Save")).click(); } public class SwipeableWebDriver extends RemoteWebDriver implements HasTouchScreen { private RemoteTouchScreen touch; public SwipeableWebDriver(URL remoteAddress, Capabilities desiredCapabilities) { super(remoteAddress, desiredCapabilities); touch = new RemoteTouchScreen(getExecuteMethod()); } public TouchScreen getTouch() { return touch; } }}
- appium 演示代码
- 代码演示
- appium实例代码
- appium 代码实例
- appium的一些可复用代码
- Appium自动化测试初始化代码
- appium python client代码实例
- Appium简易安装,以及第一个javaDemo演示
- 魔法表情演示代码
- Ext 的代码演示
- 死锁演示代码
- 代码片-Demo 演示..
- ip查询演示代码
- ip查询演示代码
- 聚合函数代码演示
- 版本更新演示代码
- AndroidStudio演示代码方案
- 死锁代码演示
- java代码在图片上画框
- 常见排序算法之冒泡排序
- No compiler is provided in this environment. Perhaps you are running on a JR
- 数据采集(三):用XPath爬取腾讯新闻
- HBuilder 热更新后JS没有更新
- appium 演示代码
- 决策树
- 几种常见的ubuntu源
- HDU 1233-还是畅通工程(经典的最小生成树, Kruskal和prim算法)
- IOS开发-基于WebDriverAgent代理服务,实现iOS手机app自动化测试的框架搭建
- CDOJ1061-秋实大哥与战争 线段树区间合并问题(求最长连续区间长度)
- 网易 | 数据结构和算法 | 学习笔记01:绪论
- TCHAR和CHAR间的互相转换
- Android签名相关知识整理