app自动化环境配置mac版

news2024/11/20 15:30:01

android sdk

试了各种sdk tools下载、ADT bundle tools总有各种报错,最后直接官网android studio全套,记住下载页面的https改为http
没有试

brew install android-sdk

android模拟器

能适配mac M1芯片的模拟器好像只有夜神,但是安装后一直卡在99%,最后放弃改为真机

appium

启动前,在edit configuration里要配置android和java路径
在这里插入图片描述

appium inspector

Remote Path 要设置为 /wd/hub
在这里插入图片描述
desired capabilities:

{
  "platformName": "Android",
  "appium:platformVersion": "10",
  "appium:deviceName": "ELS_AN00",
  "appium:appPackage": "com.huawei.calculator",
  "appium:appActivity": "com.huawei.calculator.Calculator"
}

获取appPackage,appActivity

adb shell dumpsys activity | grep "mResume"

获取deviceName

adb devices -l  # model即是

错误:[INSTALL_FAILED_ABORTED: User rejected permissions] 表示用户权限不足
解决方法:在手机开发模式下把ADB安装应用需要用户确认关闭

在这里插入图片描述

一个简单的计算器自动化脚本

from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput

caps = {}
caps["platformName"] = "Android"
caps["appium:platformVersion"] = "10"
caps["appium:deviceName"] = "ELS_AN00"
caps["appium:appPackage"] = "com.huawei.calculator"
caps["appium:appActivity"] = "com.huawei.calculator.Calculator"
caps["appium:ensureWebviewsHavePages"] = True
caps["appium:nativeWebScreenshot"] = True
caps["appium:newCommandTimeout"] = 3600
caps["appium:connectHardwareKeyboard"] = True

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)

el1 = driver.find_element(by=AppiumBy.ID, value="com.huawei.calculator:id/digit_8")
el1.click()
el2 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="加")
el2.click()
el3 = driver.find_element(by=AppiumBy.ID, value="com.huawei.calculator:id/digit_7")
el3.click()
el4 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="等于")
el4.click()

# 断言
el5 = driver.find_element(by=AppiumBy.ID,value='com.huawei.calculator:id/formula')
print(el5.text)
assert el5.text == '15'
driver.quit()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务框架 SpringCloud微服务架构 微服务保护 32 隔离和降级 32.5 熔断策略【慢调用】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护32 隔离和降级32.5 熔断策略【慢调用】32.5.1 熔断策略【慢调用】32.5.2 案例32 隔离和降级 32.5…

为什么APM飞控装不上mission planner双旋翼三旋翼倾转旋翼机固件以及apm飞控红黄绿颜色LED灯的含义

双旋翼bicopter三旋翼tricopter教程本来就不多,看几遍安装博主用的同版本地面站还是无法加装固件,全部参数表也无法搜出你需要的参数尤其是frame class 问题出在那❓还是硬件兼容问题 打开官方网站 点击frame class 这里列出了所有支持的固件 问题就出…

Cybertec PostgreSQL透明加密解析

目前PostgreSQL官方并未推出透明加密功能,但是cybertec开源了一个分支,支持透明加密。感兴趣的同学可以参考:https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/它支持对数据和WAL进行透明加密。本文…

非零基础自学Golang 第1章 走进Go 1.1 Go编程语言概述 1.1.2 Go 语言特性及应用场景

非零基础自学Golang 文章目录非零基础自学Golang第1章 走进Go1.1 Go编程语言概述1.1.2 Go 语言特性及应用场景第1章 走进Go 1.1 Go编程语言概述 1.1.2 Go 语言特性及应用场景 随着人工智能、大数据和云计算时代的到来,Python、Java和PHP等编程语言风靡盛行&#…

35岁孩子妈,2年时间彻底从互联网转型到新行业,再也不担心年龄歧视!

有人35岁被裁,有人却35岁转型重生,一切都在自己的一念之间。一位35岁的孩子妈说:来了个彻底转型,一切从头开始,用两年时间从互联网转到新行业,现在步入正轨,再也不用担心年龄歧视,因…

UNIPRO NL协议详解

UFS协议系列文章目录 UNIPRO系列文章传送门: UNIPRO TL协议详解UNIPRO DL协议详解之整体概述UNIPRO DL协议详解之流控机制UNIPRO DL协议详解之重传机制 MPHY系列文章传送门:文章目录 UFS协议系列文章目录说明一、概述二、SAP与数据包说明 写这篇文章的目的是分享我在阅读Un…

谷粒学院——Day11【首页数据显示和添加Redis缓存】

❤ 作者主页:Java技术一点通的博客 ❀ 个人介绍:大家好,我是Java技术一点通!( ̄▽ ̄)~* 🍊 记得关注、点赞、收藏、评论⭐️⭐️⭐️ 📣 认真学习,共同进步!&am…

MongoDB

1、windows启动和部署 1.1、打开官网--4.0.12版本 1.2、下载完直接解压到文件夹 1.3、打开方式 1.3.1、命令行方式打开(windows常用) 在当前文件下新建data文件夹,在其下面在新建一个data文件夹 打开bin目录,进入cmd窗口。指定…

微服务框架 SpringCloud微服务架构 微服务保护 32 隔离和降级 32.6 熔断策略【异常比例、异常数】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护32 隔离和降级32.6 熔断策略【异常比例、异常数】32.6.1 熔断策略【异常比例、异常数】32.6.2 案例…

教你如何购买服务器部署自己的项目

📚目录🍑购买服务器🥞1.登录服务器🚀2.配置服务器的环境2.1.jdk安装2.1.1上传软件至服务器2.1.2 解压jdk2.1.3 配置环境变量2.2.tomcat安装2.2.1上传软件至服务器2.2.2 解压tomcat2.2.3 运行tomcat2.2.4 配置服务器端口号2.2.5 访…

关于mac上的所有东西都变小了

记录一下我的那些时光:2022.12.11 今天晚上本应该是我快快乐乐与手机相伴的时间,奈何,下午的时候遇到一个bug,于是乎,改了一下午,眼看着就要把晚上也赔进去了,我赶紧找人帮忙,改bug…

黑芝麻智能杨宇欣:自动驾驶已从产业培育期过渡到快速增长期

“我们认为,现在(自动驾驶)从产业培育期,到了产业爆发、快速增长的时期”,11月29日,在黑芝麻智能上海媒体技术开放日上,公司首席市场营销官杨宇欣称。 他进一步称,2025年的国内自动驾…

彻底理解synchronized

彻底理解synchronized 1. synchronized简介 在学习知识前&#xff0c;我们先来看一个现象&#xff1a; public class SynchronizedDemo implements Runnable {private static int count 0; ​public static void main(String[] args) {for (int i 0; i < 10; i) {Threa…

CSC7136D

CSC7136D是一款高效率低待机功耗原边反馈小功率电源AC/DC驱动电路&#xff0c;无需光耦、TL431及相关器件。CSC7136D采用开关频率调制和初级电流峰值振幅&#xff08;FM和AM&#xff09;多模式工作技术&#xff0c;保证了全负载和线性范围内的较高的转换效率。恒压模式下的线缆…

Redis -- 缓存穿透和雪崩

文章目录一、缓存穿透1.1 概念1.2 解决方案1.3 布隆过滤器的工作原理二、缓存击穿2.1 概念2.2 解决方案三、缓存雪崩3.1 概念3.2 解决方案用户的数据一般是存储于数据库&#xff0c;数据库的数据是落在磁盘上的&#xff0c;磁盘的读写速度可以说是计算机里最慢的硬件了。当用户…

新手小白入门必看教程,js中的迭代器和生成器到底是什么

内容预警&#xff0c;低级内容&#xff0c;菜鸟必看&#xff0c;大佬请绕道 在学习es6的新语法的时候&#xff0c;我相信不管你买什么书&#xff0c;里面一定有很长很长的章节在介绍【迭代器和生成器】&#xff0c;新手对于这两个名词真的非常陌生&#xff0c;即便看过所有的章…

Grafana监控大屏配置参数介绍(一)

Grafana 系列文章&#xff0c;版本&#xff1a;OOS v9.3.1 Grafana 的介绍和安装 在上篇文章中&#xff0c;我们已经安装了Grafana&#xff0c;并且看到了它的初步面貌。在这篇文章&#xff0c;我们以一个简单的大屏为例&#xff0c;来了解Grafana的大屏配置参数。 创建第一个…

TeXstudio配置

目录&#xff1a;TeXstudio配置一、前言二、下载和安装 TeXstudio三、下载和安装 TeXlive四、配置 TeXstudio五、测试一、前言 众所周知&#xff0c;TeX Live 自带的编辑器 TeXworks 是越更新 bug 越多&#xff0c;作为新手上路的工具刚刚好&#xff0c;但是对于有比较强的使用…

【圣诞节特辑】会呼吸的玫瑰爱心代码 -李峋爱心续 动画演示思路 代码开源 一起浪漫吧

源码下载地址&#xff1a;会呼吸、带有玫瑰花的爱心告白程序-Java文档类资源-CSDN下载 粉丝可直接私信我领取。 前言 之前有部电视剧《点燃我温暖你》没火&#xff0c;但是其中李峋的爱心代码却在程序圈超级火&#xff0c;这圣诞节快到了了&#xff0c;给大家来一波爱心代码…

非零基础自学Golang 第1章 走进Go 1.2 Go语言官方文档 1.3 学好Go 的建议

非零基础自学Golang 文章目录非零基础自学Golang第1章 走进Go1.2 Go语言官方文档1.3 学好Go 的建议1.3.1 了解语言特性及自身需求1.3.2 动手写代码1.3.3 参与项目1.3.4 阅读英文文档第1章 走进Go 1.2 Go语言官方文档 Go语言官方文档网址&#xff1a;https://go.dev/doc/。 官…