【Appium】验证appium环境搭建是否成功并考虑脚本需要包含的参数
前言:接上一篇的Appium环境搭建,本篇主要通过脚本去验证环境搭建的正确,以及思考我们在编写脚本时需要考虑的几个问题。
目录
一、编写脚本需要考虑的因素
二、从代码来分析因素
2.1、使用的Appium在哪里?
2.2、模拟器使用的版本及版本号
2.3、使用的模拟器在哪里?
2.4、测试哪个App?测试内容?
三、执行脚本要做的准备工作
3.1、启动Appium服务器
3.2、启动Genymotion模拟器
3.3、执行脚本
一、编写脚本需要考虑的因素
需要考虑的必不可少的四大因素:
- Appium访问地址
- 模拟器对应的设备地址
- 模拟器/真机的系统是什么?版本是什么?
- 要测试的App是什么?在哪里?怎么测?
如下图:
二、从代码来分析因素
光说理论,肯定是听得比较懵的,还得实践走起。
给定一个Appium的计算器脚本,包含最基本的参数设置,分析脚本的组成,理解之后,我们在编写的时候就不会有什么困难了。
# V1.0 实现手机端计算器自动化测试:使用常量进行参数传递
# 导入appium类库
from appium.webdriver.webdriver import WebDriver
from selenium.webdriver.common.by import By
import time
# 定义一个字典类型,存放参数设置
caps = {'automationName': 'UiAutomator2', # Appium (默认)'platformName': 'Android', # 使用的手机操作系统:iOS, Android, 或者 FirefoxOS'platformVersion': '6.0', # 手机操作系统的版本'deviceName': '192.168.23.101:5555', # 使用的手机或模拟器类型,在 Andorid 上虽然这个参数目前已被忽略,但仍然需要添加上该参数,用adb devices获取'appPackage': 'com.android.calculator2', # 运行的 Android 应用的包名'appActivity': '.Calculator'} # Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加.
# 输入Appium访问路径并传入参数
driver = WebDriver('http://127.0.0.1:4723/wd/hub', caps)
# 传入相关测试数据,实现7+8的步骤
driver.find_element(By.ID, 'com.android.calculator2:id/digit_7').click()
driver.find_element(By.ID, 'com.android.calculator2:id/op_add').click()
driver.find_element(By.ID, 'com.android.calculator2:id/digit_8').click()
driver.find_element(By.ID, 'com.android.calculator2:id/eq').click()time.sleep(3)
driver.quit()
详细参数说明可参考Appium参数,
代码中的参数说明:
- automationName:自动化测试的引擎。由于 uiautomator2 的执行效率以及 支持 Toast 验证.使得在写测试用例的时候应优先使用 uiautomator2。
- platformName:使用的手机操作系统,一般为
iOS
,Android
, 或者FirefoxOS
- platformVersion:手机操作系统的版本
- deviceName:可自定义写,也可写使用的手机或模拟器的设备地址,在连接之后通过adb devices获取,在 Andorid 上虽然这个参数目前已被忽略,但仍然需要添加上该参数
- appPackage:运行的 Android 应用的包名
- appActivity:Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加
.
(例如 使用.MainActivity
代替MainActivity
)
分析简图:
2.1、使用的Appium在哪里?
通过以下代码,指定Appium服务器地址,并传入参数。
远程主机:需要填写AppiumServer服务的主机地址,默认127.0.0.1
远程端口:需要填写AppiumServer服务的主机端口,默认4723
远程路径:appium服务器的路径,默认填写/wd/hub
driver = WebDriver('http://127.0.0.1:4723/wd/hub', caps)
2.2、模拟器使用的版本及版本号
通过platformName和platformVersion来指定版本及版本号
'platformName': 'Android'
'platformVersion': '6.0'
2.3、使用的模拟器在哪里?
devideName一般写模拟器/真机的名字,可以随意写,目的是为了方便自己识别。我们可以直接填写设备地址,在设备连接之后可通过adb devices获取。
appium默认使用adb list devices中的第一个。
'deviceName': '192.168.23.101:5555'
2.4、测试哪个App?测试内容?
通过appPackage来指定运行的 Android 应用的包名
通过appActivity来指定测试APP名字。
手机端打开APP之后,通过adb命令来获取:
安卓8.0以前用:adb shell dumpsys activity activities | findstr mFocusedActivity
安卓8.0以后用:adb shell dumpsys activity activities | findstr mResume
'appPackage': 'com.android.calculator2'
'appActivity': '.Calculator'
通过元素定位来指定测试步骤。
三、执行脚本要做的准备工作
3.1、启动Appium服务器
1、启动Appium服务器,修改主机地址,一般为127.0.0.1,端口号默认为4723,然后点击Start Server。
2、启动界面如下,要一直保持开启状态。
3.2、启动Genymotion模拟器
1、点击+号新建模拟机器
2、从代码中我们可以看到是选择的Android 6.0的版本,所以选择Android 6.0,再随便选一款机型就好了,点击Next。
3、确认机器信息,默认即可,点击Install,等待安装完成。
Note:可能会因网络问题安装失败,换网,或者多点几次。
4、点击Start,启动模拟器。
5、启动界面如下:
3.3、执行脚本
回到pycharm,运行脚本,然后观察模拟器行为,appium server显示运行过程的执行情况。
所以我们可以同时观察appium server和模拟器。
【Appium】验证appium环境搭建是否成功并考虑脚本需要包含的参数相关推荐
- Python+Appium APP自动化环境搭建
Python+Appium之APP自动化环境搭建 1.安装node.js (1)一直点击下一步即可 (2)配置环境变量 (3)输入npm --version 安装成功 2.安装appium-docto ...
- python for android 安装配置_mac appium for android 环境搭建 (appium python pycharm)
1. 安装 java android_home 和 java_home 环境变量配置(网上有很多教程,我配置时遇到一些坑,存在问题,后来终于搞定) 记录一下我的存在的问题,mac 下我的 cmd 升级 ...
- Appium自动化之环境搭建(一)
课程大纲 1.第一阶段移动端测试环境搭建 移动端自动化测试的基础环境配置 1.1 安装Java环境 Android应用为例讲解,需要安装java环境 1.2 SDK环境 Android依赖SDK的环境 ...
- Python+Appium+夜神模拟器环境搭建,启动模拟器自带的浏览器,相关步骤和遇到问题
1.安装Python的环境,自行百度解决. 2.appium下载,双击一路保存. 3.重点配置好appium-doctor,方便查看appium还有哪些信息没有配置全. 将appium的安装路径配置到 ...
- Robotframework+Appium+夜神模拟器环境搭建(1)
目录 一 需要准备的材料 二开始安装 1 分享地址 2 配置jdk环境变量 3 安装AndroidSDK 4 安装 .netframework Node 5 安装Appium 6 命令安装 7 夜神模 ...
- appium ios自动化环境搭建
前言:ios的自动化搭建要比Android的复杂一点,其中配置WebDriverAgent会稍微麻烦一点,但其他步骤总体上和Android差不多 所需环境: macOS电脑 Xcode 待测试的iOS ...
- Appium+python 测试环境搭建
1. python 安装,python安装appium; 2. JDK安装,JAVA_HOME添加到环境变量: 3. Node js安装,安装8.0以上: 4. Android SDK安装,集成在An ...
- Appium+RobotFrameWork测试环境搭建
前提:搭建好robotframework环境 RF基于python2.7的版本实现的一套开源自动化测试框架 推荐使用Appium Desktop, 搭建Appium环境: 1. 搭建JDK 2. 搭建 ...
- appium+python+iOS 环境搭建与使用中常见问题的解决方案链接
(1)WebDriverAgent 安装入门篇:https://www.cnblogs.com/zhanggui/p/9239827.html 重点摘要: 在WDA的Github上也给出了WDA的特性 ...
最新文章
- FastJson屡爆漏洞,或许你应该试试它?
- 交互学习 Vue.js
- 广东省工业和信息化厅关于印发广东省 5G 基站和数据中心总体布局规划 (2021-2025 年)的通知...
- 南阳18--The Triangle
- python2协程_python中的协程(二)
- 六种让路由器与交换机更加安全的方法
- Cloudera-Manager 与 原生集群 免密登录问题
- 万亿级流量高可用延时服务架构设计
- 计算机表格乘法表,教你用Excel制作乘法表,方法奉上
- 360搜索、UC浏览器等被3·15点名应用已下架;马斯克宣布通过NFT卖歌;美团App再发力社交,内测 “群聊”功能 |极客头条...
- 软件测试——测试基础
- pandownload获取bdstoken失败怎么回事_巴菲特点透中国股市:假如你手中持有的股票早上快速拉高然后慢慢下跌,你晓得是怎么回事吗?...
- Web终端SSH功能
- SONIC架构简要分析-数据库
- 配置多用户连接k8s
- 查看/设置windows密钥
- background的用法
- DfE给学生提供的笔记本电脑感染了恶意软件
- 使用 Excel 画像素画
- redis incr mysql_INCR
热门文章
- Flutter开发中遇到 “从顶部向下滑动即可退出全屏模式”
- android RadioGroup位置,android RadioGroup
- 【求助】Windows安全中心弹窗如何关闭
- sed删除以什么开头的内容_技术|如何使用 sed 命令删除文件中的行
- 【收藏】这么多WEB组件(CSS),攒一个网站够了吧?
- H264系列--简单的视频编码历史介绍
- Emergency 紧急报文的实施
- 第三天:最大公因数和最小公倍数(c语言)
- i5 10600kf和R5 3600X哪个好
- Unity3D 编译发布(Publishing Builds)