51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1546|回复: 0
打印 上一主题 下一主题

Appium实战-开始

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-9 15:27:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
几种设计模式

线性模式

我称呼它为撸代码,也就是按照业务逻辑直接hard code。基本上初学者都会这样折腾,当然,折腾了一段时间
就会觉得很操蛋,自己都不想看自己写的代码。

Page Object

比较流行的设计模式,高度解耦,初学者看起来会觉得有点操蛋,但是了解了逻辑之后,会发现这样做非常棒,
维护起来简直是轻松加愉快。

通用框架

通用框架就是比较高级的做法了,实施起来比较麻烦,如果水平到了,这种方式肯定是最好的,利用关键字来
驱动程序,是比较高级的境界。缺点就是比较难。。。。

设计思路

整个设计思路是基于Page Object模式,如下图:
什么是Page Object?

When you write tests against a web page, you need to refer to elements within that web page in order to click l
inks and determine what’s displayed. However, if you write tests that manipulate the HTML elements directly yo
ur tests will be brittle to changes in the UI. A page object wraps an HTML page, or fragment, with an application-
specific API, allowing you to manipulate page elements without digging around in the HTML.
原来是Web端的模式,搬到移动端来,就是把页面分拆成一个一个元素,如示意图所示,我拆分为元素数据、
元素定位、元素操作、测试步骤这么些东西。

有什么好处?

这种模式整个架构看起来比直接撸代码复杂了很多,不过当遇到一些坑爹的问题时,尤其开发频繁改动的时候,
这种设计模式的优势就出来了,比如开发改了元素的ID那些东西,那么我们只要修改相应ID就行了,所有和这个
元素相关的都直接关联修改了,,而直接撸代码,涉及到的地方可能会有很多,改动起来很麻烦。查找方法,测
试步骤什么的都不用改,维护起来相对轻松。

一些环境

简单列一下我的环境吧:

系统:Mac OS X EI Capitan

Python: 2.7

Appium: 1.4.16

IDE: PyCharm

测试系统:Android

测试对象:微证券(应用商店可以直接下载)

我的项目结构:

  1. ____.DS_Store
  2. |____config.py
  3. |____Data
  4. | |____data.json
  5. |____img
  6. | |____.DS_Store
  7. | |____caixun
  8. | | |____gupiao.png
  9. | | |____gupiaoneirong.png
  10. | | |____jijin.png
  11. | | |____jijinneirong.png
  12. | | |____tuijian.png
  13. | | |____tuijianneirong.png
  14. | | |____xinsanban.png
  15. | | |____xinsanbanneirong.png
  16. | | |____zhaiquan.png
  17. | | |____zhaiquanneirong.png
  18. | | |____黄金.png
  19. |____Report
  20. |____test.py
  21. |____TestCase
  22. | |______init__.py
  23. | |____common.py
  24. | |____testCaixun.py
  25. |____View
  26. | |______init__.py
  27. | |______init__.pyc
  28. | |____BaseTestCase.py
  29. | |____BaseView.py
  30. | |____Caixun.py
复制代码

大的目录我是这么划分的:

Data 用来放置一些数据
Report 存放测试报告
TestCase 存放测试用例
img 存放一些截图
config.py 配置文件
当然写到后续可能会做一些调整,毕竟我才刚刚开始写。

一些忠告

一些很弱智的问题就自己去Google,比如Appium怎么开始啊,怎么学啊,环境怎么搭建啊!
多用Google
StockOverflow是个好地方
多写、多写、多写
人脑不是万能的,遇到问题解决后记录下来才是王道

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-10 20:56 , Processed in 0.069689 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表