Appium

作者: 百花鱼藤 | 来源:发表于2018-11-05 09:28 被阅读0次

Appium介绍

https://github.com/appium/appium

Appium is an open source, cross-platform test automation tool for native, hybrid and mobile web and desktop apps. We support simulators (iOS), emulators (Android), and real devices (iOS, Android, Windows, Mac).

官方解释:Appium是一款开源的跨平台测试自动化工具,适用于本地,混合和移动网络和桌面应用程序。我们支持模拟器(iOS),模拟器(Android)和真实设备(iOS,Android,Windows,Mac)。

支持的平台

Appium支持跨iOS,Android和Windows等各种平台的应用程序自动化。每个平台都由一个或多个“Driver”支持,该驱动程序知道如何自动化该特定平台。

工作原理

安装

https://github.com/appium/appium/blob/master/docs/en/about-appium/getting-started.md

桌面版:

https://github.com/appium/appium-desktop

Behavior介绍

BDD介绍

Behavior Driven Development行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。其要求在设计测试用例的时候对系统进行定义,倡导使用通用的语言将系统的行为描述出来,将系统设计和测试用例结合起来,从而以此为驱动进行开发工作。

Behavior介绍

Behavior 是一个能够理解用普通语言 描述的测试用例的支持行为驱动开发(BDD)的自动化测试工具,用Python编写,支持Java和·Net等多种开发语言。支持使用中文来编写测试用例。

规则关键字

* Feature(功能) * Scenario(情景) * Given(给定) * When(当) * Then(则)

TestFeature (功能) — test suite (测试用例集)

Scenario(情景) — test case (测试用例)

Given(给定) — setup(创建测试所需环境)

When(当)— test(触发被测事件)

Then(则)— assert(断言,验证结果)

Behave工作原理

集成开发

为了兼容android与ios两个平台,使用Python语言来开发测试用例。

1.编写测试用例 <xxx.feature>

# language: zh-CN

功能: 登录

  测试登录流程

 场景: 正常登录

    假如 进入"首页"

    而且 点击"我"

    而且 点击"登录/注册"

    那么 进入"登录页"

    当 点击"用户名"输入"13922229988"

    而且 点击"登录密码"输入"888888"

    而且 点击按钮"登录"

    那么 进入"手势设置页"

2.定义step的脚本 <step.rb>

假如 /^进入"(.*)"$/ do |page|

  pageId = case page

           when '首页'

                'page_index'

           when '登录页'

                'page_login'

           when '手势设置页'

                'page_gesture_setting'

           when '提现页'

                'page_withdraw'

           else

                'UnKnow'

           end

  wait{id(pageId)}

end

而且 /^点击"(.*)"$/ do |text|

    scroll_to(text).click

end

而且 /^点击按钮"(.*)"$/ do |text|

    case text

    when '我已领取'

         id('iv_window_close').click

         set_wait(2000)

    else

         button(text).click

    end

end

而且 /^下拉刷新$/ do

    swipe start_x: 300, start_y: 200, offset_x: 0, offset_y: 600, duration: 1000

    set_wait(2000)

end

而且 /^点击"(.*)"输入"(.*)"$/ do |text,content|

    etId = case text

           when '用户名'

                'edtLoginUserName'

           when '登录密码'

                'edtLoginPassword'

           when '提现输入框'

                'et_withdraw_amount'

           when '请输入交易密码'

                'password'

           else

                'UnKnow'

           end

    element = find_element :id, etId

    element.type content

end

3.开启appium server以及模拟器

4.输出报告  在命令后面追加--format html --out reports.html --format prett

相关文章

网友评论

      本文标题:Appium

      本文链接:https://www.haomeiwen.com/subject/csaqxqtx.html