saucelabs + python +behave+ appium for android自动化测试

#1. 背景介绍:
为了在自动化测试中节省时间节省真机的成本,而且更高效的覆盖所有的android版本,避免兼容性问题和实现全面自动化测试,我们采用saucelabs(https://saucelabs.com)平台提供的虚拟设备。使用简单易书写的python语言和appium开源框架以及单元测试behave,结合build工具jenkins 实现android 全自动化测试。这样一来就完全不用认为干预,我只需要关注测试结果就ok了。

#2. 环境搭建:

2.1 安装python(https://www.python.org/downloads/)
2.2 安装pip(https://pip.pypa.io/en/stable/installing/)
2.3 注册saucelabs 账号,用于获取SAUCE_USERNAME和SAUCE_ACCESS_KEY
2.4 用pip 安装 appium client和sauceclient:
pip install behave Appium-Python-Client sauceclient 
2.5下载安装Win下的Appium(Appium Server)安装并配置环境变量.
2.6下载python IDE (PyCharm)用于编写脚本.
2.7 下载安装Cygwin 用于在windows下运行可以并行执行测试的makefile文件,如果你选择在unix下运行就没必要安装Cygwin,默认可以执行make命令。

3. 关于单元测试behave的介绍:

3.1 Behave是BDD(Behavior drive development - 行为驱动开发)的框架。这个框架用来做敏捷开发比较多。其中behave包括的feature部分。Behave既可以用来测试网页的功能,也可以用来单元测试测试开发者的代码。
3.2 feature文件包括5行: Feature行: 介绍这个feature用来干什么的; Scenario行:介绍这个scenario用来干什么的;Given: 一般数据的初始化在这里执行;When:执行操作;Then:验证结果。
3.3 environment.py文件介绍,environment.py文件定义了一些当测试脚本在run的过程中之前和之后完成的任务:
  • before_step(context, step), after_step(context, step)
  • 在这里面的脚本会在每一个步骤之前,之后执行
  • before_scenario(context, scenario), after_scenario(context, scenario)
  • 在这里面的脚本会在每一个场景之前,之后执行
  • before_feature(context, feature), after_feature(context, feature)
  • 在这里面的脚本会在每一个feature之前,之后执行
  • before_tag(context, tag), after_feature(context, tag)
  • 在脚本里面可以设置tag(这个之后会介绍),这里面的脚本会在含有tag的模块里面之前,之后执行
  • before_all(context), after_all(context)
  • 这里面的脚本会在整个脚本开始之前,之后执行 例如登录或者是退出

4. 下面以一个例子来演示工程的新建以及testcase的书写和运行:

4.1 新建一个工程:

4.1.1 打开python IDE(PyCharm) File->New Project->Pure Python 并在Interpreter中选择你的python安装路径,工程名为python-behave-appium(如下图)

这里写图片描述

4.1.2 在工程中导入behave 单元测试的包,直接复制进来就好了.

4.1.3 在工程中新建文件夹features和 文件makefile,并在features 下新建文件夹steps和文件environment和test.feature(如下图)

这里写图片描述

4.2 test case 文件内容:

4.2.1 test.feature

Feature: Adding a contact via an Android App

  Scenario: Test spotlight application
    Given I click on the add contact button
    When I enter a name and email
    Then I click the Save button

4.2.2 steps.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import behave
from features.module.testcustomview import TestCustomView
from features.module.testsetting import TestSetting
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值