用的是appium-desktop1.8.1,testng6.11,java-client6.1.0,selenium-java3.13.0

1、下载逍遥模拟器,装好app

2、下载adb,用adb连接逍遥模拟器,找到abd路径,在cmd里cd D:\platform-tools-latest-windows\platform-tools ,  用 adb connect 127.0.0.1:21503

3、用adb devices,查看是否连接到模拟器

4、下载desktop版,然后配置url和端口号

5、启动server1.9.1,Start Inspector Session,配置Desired Capabilities,

使用adb shell dumpsys activity | findstr "mFocusedActivity" ,靠手速获取点开应用的Activity,

使用adb shell pm list package -f 获取包名

6、start session 进入到定位元素页面,大功告成,可以写脚本了

7、第一个DEMO,创建maven项目,配置pom文件如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>AppiumLatest</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies>

<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>6.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.13.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<testFailureIgnore> false </testFailureIgnore>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>

</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</project>

8、创建一个hahaha的类,如下

package com.yidong.Test;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;

public class hahaha {

static AndroidDriver<WebElement> driver;
static DesiredCapabilities capabilities;

@BeforeTest
public static void start() throws MalformedURLException, InterruptedException{

driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"),setCapsforMobileBrowser(capabilities));
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.id("com.creditease.android:id/btnStart")).click();
driver.findElement(By.id("com.creditease.android:id/agree")).click();
WebElement tvlift=driver.findElementById("com.creditease.android:id/tv_life");
Assert.assertEquals(tvlift.isEnabled(), true);

}

@Test
public void init() throws MalformedURLException, InterruptedException {

try {
start();

} catch (Exception e) {
System.out.println("inside catch");
e.printStackTrace();
}

}

public static DesiredCapabilities setCapsforMobileBrowser(DesiredCapabilities capabilities){

capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.APPIUM_VERSION, "1.8.1");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "SM-A053F");
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "5.1.1");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.creditease.android");
capabilities.setCapability("appActivity", ".view.activity.home.SplashH5AdvertisementActivity");
capabilities.setCapability("noRest", true);
return capabilities;
}

@AfterTest
public void tearDown(){
driver.quit();

}

}

9.运行,testng test,成功

appium-desktop 环境搭建 Java版的更多相关文章

  1. Selenium2(webdirver)入门之环境搭建(Java版)

    一.开发环境: 1.JDK1.6 2.Eclipse:Version: Kepler Service Release 1,下载地址:http://www.eclipse.org/downloads/ ...

  2. Selenium2(WebDriver)开发环境搭建(java版)

    一.开发环境 1.JDK 2.Eclipse 3.Firefox 28.0 4.selenium-java-2.44.0.zip 解压后: 5.selenium-server-standalone-2 ...

  3. 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理

    一.前言 ​ 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...

  4. RobotFramwork + Appium+ Andriod 环境搭建

    RF+Appium+Android环境搭建教程 - 1.RF安装 一.适用操作系统 Win7 旗舰版Sp1 32位操作系统 RF环境搭建,请参考文档<RobotFramwork安装指南> ...

  5. Appium之环境搭建

    Appium:是开源.跨平台.多语言支持的移动应用自动化工具 测试对象主要有:① 原生app ② 混合app(h5 + web前端基础) ③ 移动web app 测试对象APPy运行平台:  ① io ...

  6. 『与善仁』Appium基础 — 14、Appium测试环境搭建

    目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...

  7. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

  8. 【转】glumer Appium + Python环境搭建(移动端自动化)

    最近整理了一下自动化的东西,好久没搭建环境又踩了不少坑,appium的环境搭建比较繁琐,好多同行估计都在环境上被卡死了.分享一下~~ 一.安装JDK,配置JDK环境    百度搜索下载就行,这里分享一 ...

  9. Appium的环境搭建和配置

    Appium的环境搭建和配置 一.安装Nodejs 下载nodejs安装包(https://nodejs.org/en/download/)安装 下载后,双击安装文件,按提示来安装. 测试安装是否成功 ...

随机推荐

  1. 【LOJ6513】「雅礼集训 2018 Day10」足球大战(数学题)

    点此看题面 大致题意: 已知主队每秒进球概率为\(p\),客队每秒进球概率为\(q\),求主队进球数大于客队的概率. 推式子 考虑枚举主队进球数\(i\),则客队进球数必然小于\(i\),因此可再枚举 ...

  2. python 爬图片

    学了两天python,语法慢慢熟悉吧,数据结构都没写过. 写了一个爬图片的小东西.挺有意思的.都是女神照 (✿◡‿◡) 用的是正则表达式, ''' 符号: . 匹配任意字符,\n除外 * 匹配前一个字 ...

  3. PHP设计模式练习——制作简单的投诉页面

    ---恢复内容开始--- <?php /* * 设计模式练习 * 1.数据库连接类(单例模式) * 2.调用接口实现留言本功能(工厂模式) * 3.实现分级举报处理功能(责任链模式) * 4.发 ...

  4. 百度Ueditor 图片上传无反应,显示上传0张,不能点确定

    解决办法: \Data\Ueditor\php\Uploader.class.php 190行左右 /** * 获取文件扩展名 * @return string */ private function ...

  5. mysql关键字了解

    unsigned  无符号 就是没有负数 列-1  -2 auto_increment 自增 comment 注释 primary key 主键 foreign key ()   references ...

  6. CUDA 纹理内存

    原文链接 1.概述 纹理存储器中的数据以一维.二维或者三维数组的形式存储在显存中,可以通过缓存加速访问,并且可以声明大小比常数存储器要大的多. 在kernel中访问纹理存储器的操作称为纹理拾取(tex ...

  7. 瓣呀,一个基于豆瓣api仿网易云音乐的开源项目

    整体采用material design 风格,本人是网易云音乐的粉丝,所以界面模仿了网页云音乐,另外,项目中尽量使用了5.0之后的新控件. 项目整体采用mvp+rxjava+retrofit 框架,使 ...

  8. EBS并发管理器启动失败,系统暂挂,在重置计数器之前修复管理程序

    今天EBS安装补丁之后,因为停并发管理器的时候,因为关闭EBS应用时,并发管理器没有在前台停止,就直接停了应用服务,导致启动时,并发管理器直接起不来了,使用adcmctl.sh也没有办法启动. 进入系 ...

  9. LeetCode105. Construct Binary Tree from Preorder and Inorder Traversal

    题目 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3 ...

  10. CodeForces_864_bus

    C. Bus time limit per test 2 seconds memory limit per test 256 megabytes input standard input output ...