文档章节

Appium自动化框架入门笔记

o
 osc_bwwgdzfr
发布于 07/01 16:20
字数 896
阅读 22
收藏 0

精选30+云产品,助力企业轻松上云!>>>

基本测试框架思路

  1. APP–放测试包apk
  2. baseView—主要是最基本的方法,初始化driver和基础方法(找单个元素,多个元素,获取屏幕大小,滑动等方法)
  3. config–配置capability文件(设备信息),还有配置日志文件(等级,输出格式追加形式,输出路径,handler设置)
  4. data—主要设置数据的地方,主要是用户名和密码数据
  5. log—主要是存放生成的log文件
  6. report–主要是生成测试报告(HTML格式或者是Excel格式文档)
  7. screenshot—主要是存放异常信息的截图
  8. common-desired_caps.py —主要是将配置类的信息加载(driver驱动封装。日志配置文件加载,启动APP配置参数)
  9. common–myunit.py–主要封装测试用例操作前的操作,实际就是执行开始和执行完成后操作
  10. common–主要是封装公共方法(操作过程中会用到的方法),比如是检查是否有弹窗,点击取消,这些方法是继续了基类的方法。
  • 继承了基类:实际就是要方法重写
  • 获取配置信息:实际就是APP的信息
  • 遇到无法找到的元素:实际需要NoSuchElementException
  • 找不到元素就需要记录:实际需要logging
  • 记录时间:实际需要time
  • 获取对应文件:实际需要OS
  • 定位元素:实际需要selenium.webdriver.common.by
  • 读取信息:需要CSV文件
  1. businessView—实际就是业务逻辑的封装,例如是登陆的业务逻辑,或者是注册的业务逻辑。实际他继承了common类,初始化参数;根据业务流程写方法,做判断,做异常输出。
  2. test_case—实际就是测试业务逻辑,读取指定行的数据,然后判断
  3. 执行测试用例—实际就是在run,执行指定的测试用例和输出HTML报告到指定的路径
  4. 注意的是将 BSTestRunner.py 文件移动到 python安装目录的 python\Lib 目录下

实操

  1. 环境准备,大概80%的人都会感受到绝望
  2. 需求分析,业务逻辑分析整理,明确测试要点,例如如上的就是注册,登陆的场景,其他业务场景类似,主需要封装在baseview下,然后在testcase下使用unittest,做个数据驱动。
  3. 是不是要动手写了?答案肯定是否定的。明确完需求后,就是要测试数据的准备,测试场景编写。那么测试数据有哪些呢?首先appium启动APP就有一部分参数,后面的登陆的数据,注册的数据,是调用数据库的就需要连接数据库,封装数据库的方法进行操作数据库;而想简单点就直接使用CSV,直接读取。而需要大量数据的时候可以考虑random。
  4. 数据是准备完了?是不是要动手了?答案肯定是否定的。你还需要思考使用什么版本的手机,后面你就开始调试下环境了。这里又会很苦逼。
  5. 好的你获得动手的权限了。可是好像不知道从哪里下手一样。那么先定位元素吧
  6. 按照完整的业务流程先跑通。
  7. 再把方法封装,判断异常,处理数据,好的可以了,你的人生大概会陷入框架中来跑流程了。
  8. 【以上是研读N篇不同的框架+实操得出来的那些好像很高级实际又好高级的事】
o
粉丝 0
博文 61
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
[ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖

原文地址: https://testerhome.com/topics/17646 相逢即是缘分,总有一篇适合您! 感觉好的请点赞收藏 ,感觉分类不严谨的,欢迎反馈给我! 测试方法&测试管理 首次接觸 "變異測試 Mutation...

OscarXie.net
2019/01/13
0
0
Android移动端自动化测试从入门到实战(Java篇)

Android移动端自动化测试从入门到实战(Java篇)高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,黑盒测试,白盒测试,U...

osc_nbqoh20k
2019/11/30
10
0
appium 相关内容

appium简明教程(转):http://www.yangyanxing.com/?p=1266 appium使用入门:http://wenku.baidu.com/link?url=J9fpuKe0NPfgtaL4Pgsxog9FhunEYfbq7swk4GvS578f3Outy-19mtLVokVKQ1aKfi2ymrkAZ......

智能小松鼠
2015/10/02
387
0
Appium的入门使用

ps:有没有人和我一样觉得Appium官方文档写的很烂的, 这官方文档,还不如很多人写的博客详细,而且对于初学的入门者实在是不够友好,官网:https://github.com/appium/java-client 移动测试神...

osc_7k19h8y1
2019/04/28
7
0
IOS、Android自动化测试框架Appium概述

Appium Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAut...

youthflies
2013/09/28
4K
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka如何在千万级别时优化JVM GC问题?

大家都知道Kafka是一个高吞吐的消息队列,是大数据场景首选的消息队列,这种场景就意味着发送单位时间消息的量会特别的大,那既然如此巨大的数据量,kafka是如何支撑起如此庞大的数据量的分发...

hummerstudio
06/18
6
0
我打赌!90%程序员都破解不了这个粽子,不信你试!

放假了 各位读者朋友们,马上就是端午小长假啦,开心激动有木有? 新的故事文章还在创作中,写了初稿感觉不太满意又推倒重来。其实写故事还是挺难的,读者可能第一次第二次有新鲜感,写多了就...

轩辕之风
06/24
30
0
如何删库跑路?教你使用Binlog日志恢复误删的MySQL数据

前言 “删库跑路”是程序员经常谈起的话题,今天,我就要教大家如何删!库!跑!路! 开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文,你能够了解...

后端技术漫谈
01/14
30
0
PHP设计模式之代理模式

PHP设计模式之代理模式 代理人这个职业在中国有另外一个称呼,房产经济人、保险经济人,其实这个职业在国外都是叫做房产代理或者保险代理。顾名思义,就是由他们来帮我们处理这些对我们大部分...

硬核项目经理
2019/09/23
11
0
Redis的复制模式

Redis的复制功能分为同步(sync)和命令传播(command propagate)两个操作。 同步 同步操作用于将从服务器的数据库状态更新至主服务器当前所处的数据库状态。 1. 旧版本的执行步骤 从服务器...

osc_s9cni3go
56分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部