1. 页面封装——理性判断

2. basepage——定位表达式的判断——要加上移动端的,加上上下左右滑动封装、toast可以封装、webview切换操作

3. 页面当中,所有元素定位——更换——移动端的定位表达式

4. 页面当中,函数名字不需要改——函数的实现修改为移动端的用法

  修改和新增功能;

5. 测试数据适当修正

6. 优化启动会话——appium——配置数据太多了,每一个测试文件都必须经历这个步骤

7. 测试用例——步骤修改——验证的条件修改

1. 是否有欢迎页面,如果有就要一步步滑下去进入首页

2. 登录用例:是否需要记住用户状态

  1) 记住—要把登录成功的用例放到最后

  2) 不记住—登录失败的用例

3. app自动化—有一堆配置信息—再启动

 

  toast信息—配置信息要变:UiAutomator2

  其它的用例—用默认的就好

  新增一些别的配置

   BaseDriver—专门来处理启动信息

           —yaml来存储配置数据(设备信息+服务信息)

         —通过参数来判断是否需要修改automationName

登录用例:

1. 登录成功—默认的driver

2. 密码错误—默认的driver

3. 用户名未注册—需要加上toast处理—配置中要加上UiAutomator2

不同的测试用例—要使用不同的初始化内容—setup有区别?

单元测试—在一个测试类当中,setup所有测试用例通过

pytest—conftest.py—定义各种setup、teardown,在测试用例当中,是可以每个测试用例指定调用哪一个fixture

0. basepage:新增了滑动、toast处理

1. yaml来管理配置数据

2. basedriver—用来启动driver会话,并且处理了是否重置,是否换automationName

3. 测试用例:

  conftest—fixture功能

  default-fixture

  toast_fixture

  login_fixture:不记住用户的状态—多次运行脚本

  所有fixture中:是否要处理欢迎页面—activity的名字

  test_login 使用了login_fixture

一. YAML

YAML是一种简洁的非标记语言

YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表达更加简洁

基本规则:

1. 大小写敏感

2. 使用缩进表示层级关系

3. 禁止使用tab缩进,只能使用空格键

4. 缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级

5. 使用#表示注释

6. 字符串可以不用引号标注

三种数据结构:

1. 字典

使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map

#Yaml 方式一 (注意冒号后的空格)

platformName: Android

platformVersion: 5.1

#Yaml 方式二

{platformName: Android, platformVersion: 5.1}

2. 列表

使用连字符(-)表示,注意-后的空格

- hello

- world

#方式二

[hello, world, 12, 13]

3. scalar 纯量

二. python库

1. PyYAML

2. ruamel.yaml

PyYAML安装:

pip命令:pip install PyYaml

读取yaml文件的数据,并转换成python对象

1. 打开yaml文件

2. 使用yaml的load()函数

注意数字类型的转成字典是数字类型,如果需要字符串,则用str转换成字符串,如platformVersion的值被转成了float类型(5.1),需要str(5.1) 才是"5.1"

示例代码:

fs = open(os.path.join(caps_dir, "caps.yaml"))

datas = yaml.load(fs)

appium自动化测试(五)的更多相关文章

  1. Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)

    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...

  2. 全网最新方法:Win10下如何安装和搭建appium自动化测试环境

    为了方便大家,下面是本人安装和搭建appium所需要的软件,自取. 链接:https://pan.baidu.com/s/1wl5Xnos4BmnSZsBRd6B5YA#list/path=%2F  ...

  3. 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理

    一.前言 ​ 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...

  4. Appium自动化测试(1)-安装&环境

    需要链接appium自动化测试教程 http://www.cnblogs.com/fnng/p/4540731.htmlappium中文文档:https://github.com/appium/app ...

  5. Appium自动化测试3之获取apk包名和launcherActivity后续

    接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, ...

  6. 记安卓appium自动化测试实践

    一.软件安装 1. 安装node.js,安装路径D:\Program Files\nodejs\ 可以在官网下载https://nodejs.org/zh-cn/download/,版本号为node- ...

  7. 你的第一个自动化测试:Appium 自动化测试

    前言: 这是让你掌握 App 自动化的文章 一.前期准备 本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接. 1 ...

  8. Appium自动化测试环境搭建

    前言 Appium是一个开源的自动化测试框架,支持跨平台,支持多种编程语言,可用于原生,混合和移动web应用程序,使用webdriver驱动ios,android应用程序.那么为了学习app自动化测试 ...

  9. Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)

    简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...

随机推荐

  1. Java 之异常

    异常概述 异常: 是在运行时期发生的不正常情况. 在 java 中用类的形式对不正常情况进行了描述和封装. 描述不正常情况的类, 就称为异常类. 异常体系 父类: Throwable (JDK 文档) ...

  2. JS和CSS的初步入门(JS可以取得所有p的内容并显示)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DT ...

  3. 在VMW里安装Ghost操作系统遇到的问题及解决的办法

    条件:Ghost系列系统镜像文件 遇到的问题:1.导入镜像文件时提示“无法检测此光盘映像中的操作系统”: 2.分区时提示“ezboot kernel not found” 解决办法:1.直接先创建一个 ...

  4. Linux(6)- redis发布订阅/持久化/主从复制/redis-sentinel/redis-cluster、nginx入门

    一.redis发布订阅 Redis 通过 PUBLISH .SUBSCRIBE 等命令实现了订阅与发布模式. 其实从Pub/Sub的机制来看,它更像是一个广播系统,多个Subscriber可以订阅多个 ...

  5. bitmap位图法

    位图法定义 位图法就是bitmap的缩写,所谓bitmap,是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况.通常是用来判断某个数据存不存在的. 例如,要判断一千万个人的状态,每 ...

  6. 怎样将Excel包含某字符的单元格填充颜色

    在处理数据的时候,xmyanke想将Excel中包含某字符的单元格填充蓝色,比较容易看清,弄了好一阵子都没完成,最后试用条件格式处理了一下,终于实现了. 比如要将A1到A12区间包含数字1的单元格填充 ...

  7. vue指令详解

    一.vue简绍 1. Vue.js是什么    Vue.js也称为Vue,读音/vju:/,类似view,错误读音v-u-e. 版本分为v1.0 和 v2.0 2.Vue.js的特点 1. 是一个构建 ...

  8. Hive学习路线图--张丹老师

    前言 Hive是Hadoop家族中一款数据仓库产品,Hive最大的特点就是提供了类SQL的语法,封装了底层的MapReduce过程,让有SQL基础的业务人员,也可以直接利用Hadoop进行大数据的操作 ...

  9. day4-迭代器、生成器yield

    一.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优 ...

  10. js基本

    BOM 浏览器对象模型 DOM 文档对象模型 js主要是来操作DOM和BOM,用的事件驱动方式,通过事件去执行相应函数 如何加载:在html当中有写链接,然后加载的时候会把js函数,数据全取出来,然后 ...