文档章节

转-Appium实战

o
 osc_z1hvg4cu
发布于 2018/04/24 16:45
字数 601
阅读 0
收藏 0

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

几种设计模式

线性模式

我称呼它为撸代码,也就是按照业务逻辑直接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 links and determine what’s displayed. However, if you write tests that manipulate the HTML elements directly your 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就行了,所有和这个元素相关的都直接关联修改了,,而直接撸代码,涉及到的地方可能会有很多,改动起来很麻烦。查找方法,测试步骤什么的都不用改,维护起来相对轻松。

 

项目结构:

____.DS_Store
|____config.py
|____Data
| |____data.json
|____img
| |____.DS_Store | |____caixun | | |____gupiao.png | | |____gupiaoneirong.png | | |____jijin.png | | |____jijinneirong.png | | |____tuijian.png | | |____tuijianneirong.png | | |____xinsanban.png | | |____xinsanbanneirong.png | | |____zhaiquan.png | | |____zhaiquanneirong.png | | |____黄金.png |____Report |____test.py |____TestCase | |______init__.py | |____common.py | |____testCaixun.py |____View | |______init__.py | |______init__.pyc | |____BaseTestCase.py | |____BaseView.py | |____Caixun.py

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

  1. Data 用来放置一些数据
  2. Report 存放测试报告
  3. TestCase 存放测试用例
  4. img 存放一些截图
  5. config.py 配置文件
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

jQuery获取select onChange的值 - jQuery get value of select onChange

问题: I was under the impression that I could get the value of a select input by doing this $(this).val(); 我的印象是我可以通过执行$(this).val();来获取选择输入的值$(this).val()......

javail
51分钟前
13
0
道翰天琼解密宇宙信息大脑三者最核心奥秘,破解认知智能基础理论(群聊形式)

三体论是探索研究宇宙,信息和人类大脑三者关系的理论体系。是认知智能的奠基理论体系之一。宇宙和信息,信息和人类大脑,人类大脑和宇宙,三者之间存在着某种未被完全揭示的奥秘。三体论的核...

jackli2020
53分钟前
15
0
OSChina 周日乱弹 —— 这些照片能留存下来要感谢蛇不吃相机

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《28》- ゴンチチ 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :真得学...

小小编辑
今天
76
0
如何在视频中的对象后面添加图像

作者|PRATEEK JOSHI 编译|VK 来源|Analytics Vidhya 概述 在运动物体后面添加图像是一个典型的计算机视觉项目 了解如何使用传统的计算机视觉技术在视频中添加logo 介绍 我的一位同事向我提出...

人工智能遇见磐创
今天
14
0
UKUI Desktop Environment

install $ sudo add-apt-repository ppa:ubuntukylin-members/ukui3.0$ sudo apt upgrade or $ sudo apt-get install curl$ curl -sL 'https://keyserver.ubuntu.com/pks/lookup?&op=get&......

qwfys
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部