web自动化测试框架-01 搭建基础架构并运行一个样例

系列内容

备注:配合免费视频教程,获取更佳的学习效果!课程连接: ke.qq.com/course/2815…node

主要内容

  • 搭建web自动化测试框架
  • 运行简单的样例

搭建Web自动化测试框架

如今经常使用的自动化测试框架有单元测试框架,关键字驱动框架,以及如今比较流行的行为驱动测试框架。本次教程,咱们采用行为驱动框架Cucumber.js + selenium-webdriver 来实现Web自动化测试。Cucumbergit

环境搭建

  • 前提条件github

    • 开发语言: node.js
    • 开发工具: CukeTest(下载地址:http://cuketest.com/)CukeTest兼容Cucumber.js, 因此会大大提升咱们的生产效率。
  • 安装步骤web

    • 安装CukeTestnpm

      下载完成后,按照默认安装方式安装便可。浏览器

  • 建立项目
    安装完成后,打开CukeTest,新建项目,项目名称任意写,项目模板选择 Web ,项目路径选择本身本地一个目录。 点击 建立 按钮,完成建立。bash

运行简单的样例

  • 编辑测试用例
    项目建立完成后,工具默认会自动帮咱们生成Cucumber的代码样例。 简要介绍下默认项目目录结构架构

    └─features                Cucumber 运行默认从features目录遍历文件
        ├─step_definitions    定义自动化脚本
        └─support             定义环境支持目录(好比定义运行超时、浏览器驱动)
    复制代码

    .feature 文件是Cucumber中的剧本文件,定义了测试用例。 CukeTest默认会以可视化编辑模式打开feature文件,以下图所示:框架

    熟悉Cucumber的同窗会发现,使用CukeTest编辑feature文件很方便。在对应的文字输入部分,直接双击就能够进行编辑,不用担忧文件格式不符合剧本的语法。例如,咱们要写一个简单的百度搜索自动化测试样例。能够编辑feature文件为:async

    对应的feature文本为:

    # language: zh-CN
    功能: 百度搜索功能
    测试功能
    
      场景: 百度搜索
        假如浏览到搜索网站 "http://www.baidu.com"
        当输入关键字"CukeTest",并的点击搜索按钮的时候
        那么搜索结果中应该能够包含"CukeTest"
        
    
    复制代码

    能够在CukeTest中切换到 文本 视图 将上面文本复制进去。关于feature文件的编辑已经讲解,会在后续教程中专门讲解。

  • 编辑自动化代码
    打开 step_definitions\definitions.js 文件,点击feature文件中操做步骤上的灰色按钮,会自动在definitions.js中生成自动化样例代码。

    const { Given, When, Then } = require('cucumber');
    
    const assert = require('assert');
    
    const { driver } = require('../support/web_driver');
    
    Given(/^浏览到搜索网站 "([^"]*)"$/, async function(url) { await driver.get(url); }); When(/^输入关键字"([^"]*)",并的点击搜索按钮的时候$/, async function (arg1) {
        return 'pending';
    });
    
    Then(/^搜索结果中应该能够包含"([^"]*)"$/, async function (arg1) { return 'pending'; }); 复制代码

    根据以前学习的selenium-webdriver 语法完善代码,最终代码:

    const { Given, When, Then } = require('cucumber');
    
    const assert = require('assert');
    const { driver } = require('../support/web_driver');
    
    Given(/^浏览到搜索网站 "([^"]*)"$/, async function(url) { await driver.get(url) ;}) ;When(/^输入关键字"([^"]*)",并的点击搜索按钮的时候$/, async function (arg1) {
        await driver.findElement({id:'kw'}).sendKeys(arg1);
        await driver.findElement({id:'su'}).click();
    });
    
    Then(/^搜索结果中应该能够包含"([^"]*)"$/, async function (arg1) { await driver.sleep(3000) let allresult = await driver.findElement({id:'content_left'}).getText() return assert.ok(allresult.includes(arg1)); }); 复制代码
  • 安装项目依赖

    有两种方式安装依赖包:能够选择本身熟悉的方式进行安装:

    1. 在项目的根目录下运行命令 npm install npm install
    2. 使用CukeTest工具进行安装 点击工具栏上 更新依赖包选项,在弹出的对话框中点击 保存 自动下载

    点击 保存 按钮使用工具进行下载。 下载完成后的目录结构:

运行项目

点击 运行项目 按钮,便可进行项目运行,运行完成后,能够看到会自动生成测试报告。


获取更多信息,能够关注公众号,也能够加QQ群:707467292 进行node.js自动化相关技术交流。

相关文章
相关标签/搜索