Appium(四):真实机第一个appium程序、模拟器第一个appium程序、查看元素
1. 真实机第一个appium程序
学完了前面的知识,也将环境搭建好了,接下来我们就正式开始appium的学习了。
在做app自动化的时候,我们肯定是针对某个产品、某个软件进行测试,那么我们一定是先让模拟器或真机帮我们打开这款软件才可以。所以接下来要学的就是如何打开某个应用程序。
启动步骤:
USB连接手机,开启调试模式
打开appium工具
创建python文件,使用下面代码
以下代码可以打开手机中的【设置】应用程序:
# coding:utf-8
import time
import os
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait PATH = lambda p: os.path.abspath(os.path.join(os.path.dirname(__file__), p)) # 初始化
desired_caps = {}
# 使用哪种移动平台
desired_caps['platformName'] = 'Android'
# Android版本
desired_caps['platformVersion'] = ''
#使用adb devices -l 查询
desired_caps['deviceName'] = '6EJ7N18604002958'
#包名
desired_caps['appPackage'] = 'com.android.settings'
#界面名
desired_caps['appActivity'] = '.Settings'
# 连接服务器
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) time.sleep(5) driver.quit()
成功启动后就会安装三个app,其中Appium Settings只需要安装一次,其他两个每次启动程序都需要重新安装,我正在想办法解决,从网上找到的方法都不适用于当前版本。
如果后期项目不是测试《设置》应用程序,而是测试《短信》应用程序那么怎么打开《短信》应用程序呢?如果后期项目测试的模拟器或手机不再是9的版本,而是10的版本呢?相关配置的信息都可以进行修改。
如何使用appium打开任意一个应用程序:
- 打开要测试的应用
- 使用adb命令获取包名和界面名
- 修改desired_caps字典中的appPackage和appActivity的参数
2. 模拟器第一个appium程序
模拟器我们使用的是夜神模拟器,因为公司也在使用这款。
安装和配置我看了一个CSDN大佬写的不错,我就不写了。
《模拟器的安装与配置》:https://blog.csdn.net/huangql517/article/details/89678550
打开qq,代码如下:
# coding:utf-8
import time
from appium import webdriver # 初始化
desired_caps = {}
# 使用哪种移动平台
desired_caps['platformName'] = 'Android'
# Android版本
desired_caps['platformVersion'] = '5.1.1'
#使用adb devices -l 查询,当有多台设备时,需要声明
desired_caps['deviceName'] = '127.0.0.1:62001'
#包名
desired_caps['appPackage'] = 'com.tencent.mobileqq'
#界面名
desired_caps['appActivity'] = '.activity.SplashActivity'
# 初始化
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) time.sleep(5) driver.quit()
模拟器不会出现重复安装软件的情况,所以后面的案例全是使用模拟器,如果我找到了解决重复安装APP的方法,一定第一时间更新。
3. 查看元素
前面我们已经安装好appium Desktop(可视化界面),现在我们来了解下这款软件如何使用。
首先将软件修改成中文,便于我们使用。

对于我们初学者来说,不需要多余的配置,点击启动服务器即可。

这样就表示appium已经正常启动了, 然后我们点击右上角的放大镜

就进入了检查器会话窗口了

在这里输入启动参数


点击启动会话,就可以连接到设备了(当然设备要开启调试模式)

我们随便点击一个元素,右边就会显示元素的属性了

Appium(四):真实机第一个appium程序、模拟器第一个appium程序、查看元素的更多相关文章
- appium+Python真机运行测试demo的方法
appium+Python真机运行测试demo的方法 一, 打开手机的USB调试模式 二, 连接手机到电脑 将手机用数据线连接到电脑,并授权USB调试模式.查看连接的效果,在cmd下运行命 ...
- appium ios 真机自动化环境搭建
近期由于工作需要,本小菜在弄appium+ios+iphone真机的移动自动化,在网上找寻各种资料,发现针对IOS方面的资料少之又少,公司其它部门的弄过的同事也寥寥无几,即使有,也是安卓方面的.本次书 ...
- 关于appium操作真机打开app之后无法定位页面元素的问题的解决办法
appium操作真机打开app后无法定位页面元素:例如微信或者支付宝支付时,手机的安全控件会对支付环境进行保护,会断掉当前appium与真机的链接,导致连接失败,无法定位到页面元素,在做ui自动化之前 ...
- appium 链接真机后,运行代码,但是APP并没有启动
要淡定,链接真机后,问题一下多出来这么多,还没有启动程序,就碰到接二连三的问题. 爽到家了.慢慢解决吧. 具体问题是这样的: # coding=utf-8from appium import webd ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- appium -ios 真机连接 环境搭建
补充点一: 安装ios-deploynpm install -g ios-deploy 安装不了报错.! 后来找了找,发现sudo npm install -g ios-deploy --unsafe ...
- Python+Appium自动化测试(2)-appium连接真机启动app
app自动化测试的第一步,是启动被测app.appium环境搭建好后,我们就可以连接真机启动app了.环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让 ...
- 搭建Mac+Java+appium+IOS真机自动化环境
一.安装前环境准备 1.确保电脑已经有homebrew(包管理器) 下载链接[https://brew.sh/] 2.通过 brew 安装node.js brew install node 安装 ...
随机推荐
- 强化学习三:Dynamic Programming
1,Introduction 1.1 What is Dynamic Programming? Dynamic:某个问题是由序列化状态组成,状态step-by-step的改变,从而可以step-by- ...
- HDU2833-WuKong(求不同起点,终点最短路的交点最多数量)
Liyuan wanted to rewrite the famous book "Journey to the West" ("Xi You Ji" in C ...
- HashMap的常见问题
关于HashMap的一些常见的问题,自己总结一下: 首选HashMap在jdk1.7和jdk1.8里面的实现是不同的,在jdk1.7中HashMap的底层实现是通过数组+链表的形式实现的,在jdk1. ...
- PHP原生实现简易的MVC框架
目录结构: —|controller —|Home.php —|model —|view —|welcome.php —|index.php 基本原理: 首页 index.php 通过获得地址栏中的路 ...
- Where/Order by/Ggroup by/Having使用的注意事项
1.Where.Order by.Group by .having Where作用对象是:基本表或视图,从中选出符合条件的元素. Order by 作用对象是:基本表或视图,就是排序方式,分为升序(A ...
- Microsoft store应用商店打不开0x80131500
开始安装Windows的Linux子系统发现没办法打开应用商店,开始了三个小时的挖贴之路,最终于百度贴吧最底层发现解决办法,同样错误貌似只有两个人.... 首先介绍一下网上普遍的方法↓↓↓ 第一种—— ...
- 要想深入理解mysql索引?这16个点你必须要了解!
前言 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQ ...
- 前台get传递含中文数据到后台出现中文乱码
博客:(前后台文件编码相同)前台传后台中文乱码 4月4日补充 jsp页面第一句没有下面一句或者页面发布后查看源代码时第一句已经不在了 <%@ page language="java&q ...
- Java集合类框架的最佳实践?
根据应用的需要选择合适的集合对性能是非常重要的.如果一个集合的元素数量是固定的,而且我们能够提前知道固定的数量,那么就可以使用数组,而不是ArrayList. 每个集合都可以设置初始容量,如果我们提前 ...
- 如何用Jmeter做接口测试
Jmeter介绍&测试准备: Jmeter介绍:Jmeter是软件行业里面比较常用的接口.性能测试工具,下面介绍下如何用Jmeter做接口测试以及如何用它连接MySQL数据库. 前期准备:测试 ...