zoukankan      html  css  js  c++  java
  • 自动化框架Quantum Automation Framework+cucumber+perfecto

    名词解释

    • Quantum: 一款基于JAVA的自动化框架,支持手机和桌面WEB的自动化测试。与cucumber和perfecto实现了整合,用于BDD自动化。
    • cucumber: 一款BDD类型的自动化测试框架,使用ruby编写,支持JAVA和dot net等。
    • gherkin: 一种简单的英语文本语言,支持多种语言,默认为en,可支持# language: zh-CN(Feature文件首行)。
    • perfecto: 一款支持Web & Mobile App测试的测试平台,perfecto提供云端收费真机,也可通过appium控制本地真机。

    cucumber详情

    组成

    由三部分组成

    • Features: 语法来自gherkin
    • Step_definitions: Feature文件的步骤的实现,在IDEA中建议右键选择Create 'Scenario: XXX'... 生成
    • CucumberCommand: 运行cucumber的系统命令

    pom依赖:

        <dependencies>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-java</artifactId>
                <scope>test</scope>
                <version>1.2.4</version>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-jvm</artifactId>
                <version>1.2.4</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>1.2.4</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <!--<version>2.9</version>-->
            </dependency>
        </dependencies>
    

    和jenkins集成

    1. cucumber可以通过添加插件生成json或者html的报告。
      在@CucumberOptions的plugin里添加"html:target/cucumber"或者"json:target/cucumber.json"即可。
      @CucumberOptions(plugin = {"pretty","html:target/cucumber","json:target/cucumber.json"}, features = "classpath:cucumber/features")
    2. 在jenkins上安装cucumber-reports插件,然后设置Post-build Actions中的cucumber reports。

    过滤

    Examples上也可标注TAG,这样通过指定TAG即可选择不同的EXAMPLES来执行。

    • java cucumber.api.cli.Main --tag @first features
      • 只执行tag为@first的用例
    • java cucumber.api.cli.Main --tag @first,@second features
      • 只执行tag为@first或second的用例
    • java cucumber.api.cli.Main --tag @first --tags @second features
      • 只执行tag同时有@first并且@second的用例
    • java cucumber.api.cli.Main --tag ~@aaa --tags @bbb features
      • 只执行tag为@bbb但不为@aaa的用例,~表示取非
    • java cucumber.api.cli.Main src/main/resources/features/my.feature:5:10
      • 只执行my.feature文件中的第5行和第10行,后面可接多个:n
    • java cucumber.api.cli.Main --name ScenarioName features
      • 只执行名称为ScenarioName的Scenario或Scenario Outline.

    结果报告

    支持pretty(linux)、json、html和junit格式的报告
    如果是通过MVN执行,推荐使用cucumber-reporting:https://github.com/damianszczepanik/cucumber-reporting

    Refer

    中文支持:

    java cucumber.api.cli.Main --i18n zh-CN
    

    https://www.ibm.com/developerworks/cn/java/j-lo-cucumber01/

  • 相关阅读:
    (六)软件测试分工
    <C++>FILE和fstream
    <C#>序列化
    <C#>多线程
    <C++>面试
    <C#>面试
    <Linux>Linux系统命令
    <Linux>Linux基础知识
    <CAN>汽车诊断基础知识
    <C++>查询
  • 原文地址:https://www.cnblogs.com/liehen2046/p/11193562.html
Copyright © 2011-2022 走看看