1.新建maven工程和引入库

步骤参考https://www.cnblogs.com/wanyuan/p/16408758.html

2.编写代码

代码如下:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement; import java.net.URL; public class TestEditor {
private AppiumDriver<AndroidElement> driver; @Before
public void setUp() throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("fullreset", false);
capabilities.setCapability("platformName", "android");
capabilities.setCapability("uiautomator2ServerInstallTimeout", "100000");
capabilities.setCapability("platformVersion", "10");
capabilities.setCapability("deviceName", "Galaxy A11");
capabilities.setCapability("automationName", "UiAutomator2");
capabilities.setCapability("newCommandTimeout", "1000");
capabilities.setCapability("appActivity", "com.atlasv.android.mvmaker.mveditor.SplashActivity");
capabilities.setCapability("newCommandTimeout", "1000");
capabilities.setCapability("appPackage", "vidma.video.editor.videomaker");
capabilities.setCapability("autoGrantPermissions", false);
capabilities.setCapability("noReset", true);
driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} @Test
public void openEditor() throws InterruptedException {
Thread.sleep(5000);
driver.findElementById("vidma.video.editor.videomaker:id/ivAdd").click();
Thread.sleep(3000);
driver.findElementsById("vidma.video.editor.videomaker:id/ivIcon").get(6).click();
Thread.sleep(3000);
driver.findElementById("vidma.video.editor.videomaker:id/tvNext").click();
Thread.sleep(3000);
driver.findElementById("vidma.video.editor.videomaker:id/ivBack").click();
} @After
public void tearDown() throws Exception {
driver.quit();
}
}

Java+Appium+Junit实现app自动化demo的更多相关文章

  1. 用java和junit编写app自动化测试用例

    package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver ...

  2. java+appium+安卓模拟器实现app自动化Demo

    网上有比较多相关教程,自己写一遍,加深下印象. 环境搭建 据说,很多人都被繁琐的环境搭建给吓到了. 是的,确实,繁琐. node.js 网址 cmd输入node -v,出现下图说明成功. JDK 网址 ...

  3. appium+python的APP自动化(2)

    上节说到安卓上的测试环境都安装好了,这个时候要安装python了 1python的安装 https://www.python.org/15官网下载python2.7(3.0以上也行,个人爱好),安装也 ...

  4. appium+python的APP自动化(1)

    写这个东西也是自己喜欢研究些自动化的东西,以下全是自己的经验所得,由于开源的软件对于各版本以及操作系统要求很高,会经常碰到一些不兼容的问题,这个都属于正常的,换版本就对了. 本人的环境搭建都是在win ...

  5. 搭建Mac+Java+appium+IOS真机自动化环境

    一.安装前环境准备 1.确保电脑已经有homebrew(包管理器)  下载链接[https://brew.sh/]   2.通过 brew 安装node.js brew install node 安装 ...

  6. Python+Appium来写app自动化脚本

    1...........................我有空再补

  7. 用python和unittest编写app自动化测试用例

    import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpCl ...

  8. Appium + Python App自动化第一个脚本

    今天跟大家讲解一个Appium和Python App自动化的脚本.[1]打开你的夜神模拟器(或者连接你的手机) [2]打开桌面的Appium [3]下载你要测的App的apk文件,放到桌面[4]拖动你 ...

  9. 使用appium+python做UI自动化的demo

    使用appium+python做UI自动化的demo 案例使用的知乎app,下载最新的知乎apk,存在了电脑上,只需要配置本机上app目录,不需要再配置appPackage和appActivity # ...

  10. [python]Appium+python +pytest 实现APP自动化,基于安卓

    1.安卓环境搭建 &关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会写安装.启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人) & ...

随机推荐

  1. Golang-容器3

    http://c.biancheng.net/golang/container/ Go语言数组详解 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成.因为数组的长度是固定 ...

  2. 原生js元素拖动效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. (原创)[开源][.Net Standard 2.0] SimpleMMF (进程间通信框架)更新 v1.1,极低CPU占用

    一.前言 在上一篇 (原创)[.Net] 进程间通信框架(基于共享内存)--SimpleMMF 中,发布了v1.0版,最大的问题是:CPU占用较高,至少40-50%. 这既与我的开发水平有关,也与Si ...

  4. 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用

    在本地部署DeepSeek大模型实现联网增强的AI应用 一.前言 在本地部署大语言模型(LLM)并赋予其联网能力,是当前AI应用开发的重要方向.本文将基于Microsoft Semantic Kern ...

  5. 使用Shell工具连接Kali Linux

    使用Shell工具连接Kali Linux 允许root用户登录ssh服务 1.使用命令 vim /etc/ssh/sshd_config 打开SSH的配置文件 2.将33行的 prohibit-pa ...

  6. jenkins+gitee+tomcat

    1.Jenkins [系统配置]添加gitee服务 2.项目配置 General 配置之前配置的gitee服务连接 3.源码配置 4.构建配置 5.构建触发器配置 最重要的是: 6.在gitee中配置 ...

  7. CF895C Square Subsets 题解

    看到 \(a_i\le 70\) 后,发现 \(n\) 啥用没有,因为只需要枚举 \(1-70\) 选几个即可. 看到求完全平方数后,想到分解质因数,由于 \(a_i\le 70\),所以只有 \(1 ...

  8. 使用browser-use进行数据爬取实战记录

    前言 前面的文章介绍了browser-use的基本使用,今天带来的分享是使用browser-use进行一次数据爬取的实战(不过还是demo级别的). 使用到的三个玩法分别是使用自己的浏览器.定义输出结 ...

  9. vue中的find()函数的用法与扩展用法

    find函数基本格式:let obj=this.list.find(item=>item.code===val)首先在这里我们要知道的两个基础知识一.find是一个查找函数.二.箭头函数find ...

  10. ETL工程师

    Python Flume DataX HDFS 数仓建模分层:ODS.DIM.DWD.DWS.APS Kettle.Informatica SQL(Oracle.MySQL)