前言:接上一篇的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:使用的手机操作系统,一般为iOSAndroid, 或者 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、模拟器使用的版本及版本号

通过platformNameplatformVersion来指定版本及版本号

'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环境搭建是否成功并考虑脚本需要包含的参数相关推荐

  1. Python+Appium APP自动化环境搭建

    Python+Appium之APP自动化环境搭建 1.安装node.js (1)一直点击下一步即可 (2)配置环境变量 (3)输入npm --version 安装成功 2.安装appium-docto ...

  2. python for android 安装配置_mac appium for android 环境搭建 (appium python pycharm)

    1. 安装 java android_home 和 java_home 环境变量配置(网上有很多教程,我配置时遇到一些坑,存在问题,后来终于搞定) 记录一下我的存在的问题,mac 下我的 cmd 升级 ...

  3. Appium自动化之环境搭建(一)

    课程大纲 1.第一阶段移动端测试环境搭建 移动端自动化测试的基础环境配置 1.1 安装Java环境 Android应用为例讲解,需要安装java环境 1.2 SDK环境 Android依赖SDK的环境 ...

  4. Python+Appium+夜神模拟器环境搭建,启动模拟器自带的浏览器,相关步骤和遇到问题

    1.安装Python的环境,自行百度解决. 2.appium下载,双击一路保存. 3.重点配置好appium-doctor,方便查看appium还有哪些信息没有配置全. 将appium的安装路径配置到 ...

  5. Robotframework+Appium+夜神模拟器环境搭建(1)

    目录 一 需要准备的材料 二开始安装 1 分享地址 2 配置jdk环境变量 3 安装AndroidSDK 4 安装 .netframework Node 5 安装Appium 6 命令安装 7 夜神模 ...

  6. appium ios自动化环境搭建

    前言:ios的自动化搭建要比Android的复杂一点,其中配置WebDriverAgent会稍微麻烦一点,但其他步骤总体上和Android差不多 所需环境: macOS电脑 Xcode 待测试的iOS ...

  7. Appium+python 测试环境搭建

    1. python 安装,python安装appium; 2. JDK安装,JAVA_HOME添加到环境变量: 3. Node js安装,安装8.0以上: 4. Android SDK安装,集成在An ...

  8. Appium+RobotFrameWork测试环境搭建

    前提:搭建好robotframework环境 RF基于python2.7的版本实现的一套开源自动化测试框架 推荐使用Appium Desktop, 搭建Appium环境: 1. 搭建JDK 2. 搭建 ...

  9. appium+python+iOS 环境搭建与使用中常见问题的解决方案链接

    (1)WebDriverAgent 安装入门篇:https://www.cnblogs.com/zhanggui/p/9239827.html 重点摘要: 在WDA的Github上也给出了WDA的特性 ...

最新文章

  1. FastJson屡爆漏洞,或许你应该试试它?
  2. 交互学习 Vue.js
  3. 广东省工业和信息化厅关于印发广东省 5G 基站和数据中心总体布局规划 (2021-2025 年)的通知...
  4. 南阳18--The Triangle
  5. python2协程_python中的协程(二)
  6. 六种让路由器与交换机更加安全的方法
  7. Cloudera-Manager 与 原生集群 免密登录问题
  8. 万亿级流量高可用延时服务架构设计
  9. 计算机表格乘法表,教你用Excel制作乘法表,方法奉上
  10. 360搜索、UC浏览器等被3·15点名应用已下架;马斯克宣布通过NFT卖歌;美团App再发力社交,内测 “群聊”功能 |极客头条...
  11. 软件测试——测试基础
  12. pandownload获取bdstoken失败怎么回事_巴菲特点透中国股市:假如你手中持有的股票早上快速拉高然后慢慢下跌,你晓得是怎么回事吗?...
  13. Web终端SSH功能
  14. SONIC架构简要分析-数据库
  15. 配置多用户连接k8s
  16. 查看/设置windows密钥
  17. background的用法
  18. DfE给学生提供的笔记本电脑感染了恶意软件
  19. 使用 Excel 画像素画
  20. redis incr mysql_INCR

热门文章

  1. Flutter开发中遇到 “从顶部向下滑动即可退出全屏模式”
  2. android RadioGroup位置,android RadioGroup
  3. 【求助】Windows安全中心弹窗如何关闭
  4. sed删除以什么开头的内容_技术|如何使用 sed 命令删除文件中的行
  5. 【收藏】这么多WEB组件(CSS),攒一个网站够了吧?
  6. H264系列--简单的视频编码历史介绍
  7. Emergency 紧急报文的实施
  8. 第三天:最大公因数和最小公倍数(c语言)
  9. i5 10600kf和R5 3600X哪个好
  10. Unity3D 编译发布(Publishing Builds)