pyest+appium实现APP自动化测试

目录

01、appium环境搭建

2、搭建python+pytest+appium环境

3、安装pycharm搭建项目编写脚本

4、执行测试

绵薄之力

01、appium环境搭建

  • 安装nodejs

http://nodejs.cn/

为什么要安装nodejs?

因为appium这个工具的服务端是由nodejs语言开发的

  • 安装jdk,并且配置环境变量

为什么要装jdk?

因为我们要测试安卓,那么安卓的调试环境需要依赖jdk

  • 安装sdk,并配置环境变量

为什么要装sdk?

因为我们要测试安卓,sdk就是安卓开发调试的环境

  • 安装appium服务端

1. 命令行形式的appium server

npm install appium@1.15.1
 

2. appium desktop版本,在官网下载即可

3. 上述两种之间的区别

桌面版不仅仅是一个appium server,他还包括了元素定位调试以及录制脚本的功能

命令行版本仅仅是一个appium server

  • 安装appium-doctor

npm install appium-doctor

这个工具是用来检查appium的环境的,但是注意并不是说在这里检查没有错误就能代表我的环境一定没有问题

  • 安装安卓模拟器(并不是必须)

夜神、mumu,等等

2、搭建python+pytest+appium环境 

  • 安装python
  • 安装pytest

pip install pytest

  • 安装selenium

pip install selenium

  • 安装appium

pip install Appium-Python-Client

  • 安装allure-pytest

pip install allure-pytest

3、安装pycharm搭建项目编写脚本

  •  初始化driver代码编写
# !/usr/bin python3                        # encoding: utf-8 -*-                        # @author: 沙陌 微信:Matongxue_2# @Time: 2021/5/21 10:25# @Copyright:北京码同学网络科技有限公司#移动端初始化用到的参数特别多#下面的这个字典里的参数是脚本告诉appium服务端我都要干什么,基础的能力参数import timeimport allurefrom appium import webdriverfrom selenium.webdriver.common.by import Bydesired_caps = {#这表示你要测试的设备类型,安卓就写android,ios就写ios'platformName':'android',#这表示你要测试的app的路径'app':'C:\\Users\\lixio\\Desktop\\douban.apk',#看起来像是设备名称,但是注意在安卓上这个位置的值随便写都行,#这个并不能够代表你要执行的设备是哪个'deviceName':'xxx',#这个参数才是真正的指定执行哪台设备的参数,# 他的值写的就是使用adb devices命令看到的设备名称'udid':'127.0.0.1:62001',#该参数非常重要,表示在执行测试时不重签名apk文件,# 默认情况下appium会针对apk文件进行重签名操作,# 但是现在的app都有签名篡改的校验,如果被重签名了那么这个app就不能正常使用了'noSign':True,#该参数表示在执行appium测试时使用appium的辅助输入法,# 好处是支持中文输入支持键盘隐藏'unicodeKeyboard':True,#表示执行完测试之后将手机的输入法重置回手机原来的'resetKeyboard':True,#表示脚本和appium服务之间连接的session超时时间,单位是秒'newCommandTimeout':600}# 初始化driver,参数里看到的url就是appium服务的地址 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)#增加隐式等待driver.implicitly_wait(10) #单位是秒```
  • 元素查看

可以使用sdk自带的uiautomatorviewer.bat这个工具,也可以使用appium desktop版本的元素查看

  • 豆瓣登录脚本编写,采用pytest方式

@allure.title('豆瓣登录')def test_login():# id定位在安卓端对应的元素属性是resource-iddriver.find_element(By.ID,'com.douban.frodo:id/left').click()driver.find_element(By.ID,'com.douban.frodo:id/input_user_name').send_keys('18729399607')driver.find_element(By.ID,'com.douban.frodo:id/input_password').send_keys('abc123456')driver.find_element(By.ID,'com.douban.frodo:id/sign_in_douban').click()#操作完成后,必须有断言来判断结果是否正常time.sleep(3)page_source = driver.page_sourceassert '书影音' in page_source

4、执行测试

  • 执行前准备工作

1. 启动appium服务,在命令行做如下操作

2. 确保手机设备连接正常 

  • 执行测试

在pycharm的Terminal中执行如下命令

pytest -sv --alluredir ./report/allure-results --clean-alluredir

  • 生成allure测试报告

allure generate ./report/allure-results -o ./report/allure-report --clean

绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…

1150305204

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

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

相关文章

maxwell界面介绍

File文件 New新建(快捷键CTRLN) open打开(选择open后可以选择各种可以打开的类型文件。包括其他软件CAD、老版本ansoft mxwl文件。以及Maxwell其他模块的文件。) Open Examples打开范例(与上效果相似,但是能…

Maxwell个人初学经验及资料分享

文章目录 前言一、原理重要二、官方教程三、视频教程三、帮助文档总结 前言 前段时间学习了课题组基于Maxwell所建立的模型,因为以前从来没有使用过,只是按照一步一步记忆了操作,但总觉得不熟悉,我想是缺乏对这个软件整体的了解&…

maxwell 平面变压器仿真(一)

目录 系列文章目录 前言 一、Maxwell能干什么? 二、Maxwell 安装与基本界面工具介绍 1.Maxwell安装 2.maxwell 基本界面工具介绍 maxwell界面如下: 菜单栏如下: 简要介绍如下: 3.以实例介绍一下布尔运算 前言 在学习开关电…

【Maxwell笔记】

官网地址:Maxwells Daemon 版本:v1.29.2(之后的版本不支持JDK8) 一、工作原理 Maxwell把自己伪装成MySQL的一个slave,然后以slave的身份假装从MySQL(master)复制数据。 MySQL配置binlog&…

ANSYS Maxwell 2D螺线管磁场分析

所用螺线管几何模型如下所示 1. 在Maxwell软件中建立如下图所示的几何模型 2. 设置材料 线圈采用铜材料copper,空气域自动为空气材料 3. 空气域边界设置磁通平行边界条件 4. 线圈施加电流激励,实际是安匝数 上半个线圈设置参数如下 其中参考方向Posit…

Maxwell-学习笔记

一、理论知识 1. 磁场的高斯定律 磁场对任意闭合曲面的通量都为0 2.安培环路定律 磁场沿不围绕长直导线的闭合曲线的环流为0,围绕长直导线的闭合曲线的环流为uI。 3. 磁化电流 磁介质内部的分子电流因为抵消而不参与整体磁化电流的贡献。 二、有限元方法 三.EM操作步骤 …

Maxwell安装与配置

Maxwell安装与配置 maxwell 是由美国zendesk开源,用java编写的Mysql实时抓取软件。其抓取的原理也是基于binlog。 点击此处跳转Maxwell官网 参考文章如下链接 链接: Maxwell参考文章 附上本人下载好的安装包 链接:百度网盘下载连接 提取码:12…

Maxwell简介使用

Maxwell 介绍 Maxwell 是由美国 zendesk 开源,用 java 编写的 Mysql 实时抓取软件, 其抓取的 原理也是基于 binlog。 官网 https://maxwells-daemon.io/ Maxwell 和 canal 工具对比 ➢ Maxwell 没有 canal 那种 serverclient 模式,只有一个…

Maxwell 一款简单易上手的实时抓取Mysql数据的软件

第一章 Maxwell概述 1.1、Maxwell简介 Maxwell 是由美国 Zendesk 开源,用 Java 编写的 MySQL 实时抓取软件。 实时读取MySQL 二进制日志 Binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Googl…

maxwell理论知识

1 Maxwell是什么 Maxwell 是由美国 Zendesk 开源,用 Java 编写的 MySQL 实时抓取软件。 实时读取 MySQL 二进制日志 Binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、 RabbitMQ、Redis、Google Cloud Pub/Sub、文…

maxwell render中文版

教程: 1、下载软件包解压,双击exe程序安装软件,点击下一步。 2、软件协议界面,选择我接受协议,点击下一步。 3、选择安装路径,选择C盘之外的磁盘安装。 4、选择安装组件,全部勾选&#xff0…

Maxwell简单使用

1.Maxwell简介 Maxwell 是由美国 Zendesk 开源,用 Java 编写的 MySQL 实时抓取软件。 实时读取MySQL 二进制日志 Binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或…

Maxwell 介绍、安装、部署、运行(MYSQL -> Maxwell -> kafka)

Maxwell 安装、部署、运行(MYSQL -> Maxwell -> kafka) 一、Maxwell 概述 Maxwell 用 Java 编写的 MySQL 实时抓取软件。 实时读取MySQL 二进制日志 Binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka等消费中心。 …

Maxwell的简介与使用

一、简介 Maxwell 是由美国Zendesk公司开源,用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流数据处理平台。 Maxwell…

推荐三款动态壁纸软件,足够让你的桌面惊艳!

点击上方“码农的后花园”,选择“星标” 公众号 精选文章,第一时间送达 今天给大家推荐三款动态壁纸软件,给你的桌面添加一点精彩,心情也更美呢 ~ 1,WinDynamicDesktop 进入软件界面,默认提供了5套苹果系统使用过的动态…

找壁纸不用愁了:壁纸网站/APP/工具合集

苏生不惑第261篇原创文章,将本公众号设为星标,第一时间看最新文章。 之前分享过那些好用的无版权免费图片网站,今天分享些好看的壁纸网站和工具,在公众号后台回复 壁纸 获取软件。 wallhaven 这个知名壁纸网站应该不用多介绍了htt…

免费壁纸网站大全

极简壁纸展开目录 https://bz.zzzmh.cn 国人维护的壁纸网站,图片大多来源 wallhaven 和 unsplash。 轻壁纸展开目录 一个免费纯净高清电脑壁纸分享站,主打高清横屏电脑壁纸,永久免费! https://bz.qinggongju.com 壁纸湖展开目…

推荐两款超高质量的壁纸软件

前言 整天对着电脑工作难免会感觉烦躁,但如果能经常看到自己喜欢的壁纸,那应该会稍微愉悦一点吧… 不过搜索引擎找到的壁纸壁纸普遍清晰度低、带水印、质量也不高 每次还需要下载完手动替换,比较麻烦 今天给大家推荐两款高质量并且开源的…

高清免费壁纸网站推荐

本期内容,为大家整理了6个相当不错的免费壁纸网站,访问量极大、活跃度极高。 无需登录、注册,打开右键就可以下载,而且壁纸图片的尺寸大小,可以选择,从手机、平板、再到电脑壁纸,全部都是高清。…

Wallpaper引擎 壁纸提取 (文中附工具下载链接)

有一款优秀的电脑桌面壁纸软件——《Wallpaper Engine》 用过的都知道,好得不得了 但是,这款壁纸软件还是很吃GPU的,尤其是场景类、视频类的壁纸,电脑性能不足的还会卡可怜的笔记本就这样。 有时候除了壁纸本身,是…