跳转到主要内容

人机框架:面向人类™的测试自动化框架

项目描述

人机框架:面向人类™的测试自动化框架

注意:人机框架仍处于 概念验证 阶段

贡献!我将人机框架发布在GPLv3下,使其成为开源和免费的。

通过以下方式贡献

  1. 训练数据本地化(翻译)
  2. 添加更多意图和动作
  3. 报告错误
  4. 建议新功能

注意:我正在开发Rasa NLU支持

人机框架是一个测试自动化框架,旨在为没有软件编程背景的测试人员设计,使他们能够用自己像英语这样的语言编写测试步骤或指令。

人机框架使用自然语言理解(NLU)进行意图分类和实体提取,以便执行特定操作。它目前依赖于Microsoft LUIS(语言理解)

以下是Human Framework可以理解的测试指令示例。要了解哪些特定句子受支持,请检查“trials”和“tests”文件夹的内容。

Open chrome browser https://devpost.com
Page title should be "Devpost - The home for hackathons"
Page should contain link "About"
Click link "About"
Page title should be "About us · Devpost"
Close browser

LUIS(和其他NLU工具)使得在任何人类语言上编写测试案例成为可能。当前版本的人机框架仅支持英语。

人机框架受到了Robot Framework的启发,但更倾向于使用自然语言处理(NLP)来编写测试案例。

"人机框架是自动化测试的Siri或Alexa。"(没有声音,但未来可能实现)

工作原理

Architecture

人机框架的架构可以简化为两个步骤——意图分类和动作执行

  1. Human框架读取测试用例文件,然后使用意图分类器(例如LUIS.ai)来识别意图和实体。例如,句子“打开chrome浏览器”将被识别为意图“web.open_browser”,实体“chrome”作为浏览器类型。
  2. Human框架随后执行特定于分类意图的操作。例如,意图“web.open_browser”将使用Selenium来自动打开一个chrome浏览器。

使用/安装

创建Azure账户

  1. 前往Azure门户并创建账户。

  2. 在Azure门户仪表板上,点击创建资源,查找认知服务并点击创建

    Create a resource

    Search cognitive services

    Create cognitive service

  3. 填写表单并点击创建按钮

    Create cognitive service form

创建LUIS.ai账户

  1. https://raw.githubusercontent.com/roniemartinez/HumanFramework/master/train/en.json下载Human框架训练数据,并以.json扩展名保存

  2. 前往LUIS.ai并创建账户

  3. 点击导入新应用

    Import new app

  4. 点击选择应用文件(JSON格式)...并选择下载的Human框架训练数据

    Choose app file

  5. 可选地,输入您希望的应用名称

    Done import new app

  6. 点击完成

  7. 点击您创建的应用。

  8. 在应用仪表板上,点击训练以训练您的LUIS.ai应用

连接Azure账户到LUIS.ai并发布

  1. 点击管理 > Azure资源 > 添加预测资源

    Manage LUIS.ai

  2. 填写表单

    Assign a resource to your app

  3. 点击发布,选择生产然后点击发布按钮

    Publish LUIS.ai app

  4. 回到Azure资源。如果您将应用发布到预发布环境,请使用更改查询参数在环境之间切换。

    Copy Endpoint

  5. 复制第2步分配的资源端点

注意:复制端点后,将其输入浏览器地址栏以确认其可访问性。否则,请重复步骤或使用将仅提供1000次API调用的Starter_Key

安装Human框架

Human框架是用Python 3编写的。首先从python.org下载/安装Python。

要安装Human框架,请在终端/cmd中输入以下命令

直接从GitHub

pip install -e git+git@github.com:roniemartinez/HumanFramework.git#egg=humanframework

从PyPI

pip install humanframework

设置Human框架

使用从LUIS.ai复制的端点并设置Human框架。粘贴包含在双引号中的端点。

human config --luis-endpoint "<endpoint>"

安装驱动程序

Human框架依赖于Selenium进行Web应用程序测试。下载您想要的webdriver并将它们提取到您的本地工作目录。

编写测试

编写一个包含测试的文本文件(test_*.txt),并将其保存到放置Selenium驱动程序的本地工作目录。例如,如果我们有一个名为test_web.txt的文件

open chrome https://pythonlang.cn
page title should be "Welcome to Python.org"
close browser

运行测试

要在test_web.txt中运行测试,请在终端/cmd中输入以下内容

human --test test_web.txt

测试自动发现

以文本test_开头的trials文件夹中的文件将自动执行。

trials
|- test_simple.txt
|- test_simple_2.txt
|- ...

具有这种结构,您只需输入human即可运行测试用例。

Human框架的未来

  • 集成编辑器 - 由于Human框架将仅执行句子,因此测试得到了极大的简化,但使用终端安装Python和多个库仍然是更多面向开发者的技术要求。为了消除这一技术要求,Human框架项目的另一个主要目标是发布一个一键安装程序,该程序应包括诸如集成IDE/编辑器等新功能。这将大大提高测试者的生产力。
  • 语言支持 - 不是所有测试人员都使用英语。支持大多数语言将使世界各地的更多测试人员受益。
  • 自然语言理解(NLU)选项 - 与其他意图分类器相比,LUIS.ai 非常易于使用且准确,但它并不便宜。为了支持更多测试人员,可以使用免费选项 Rasa NLU 作为替代方案。

局限性

在概念验证阶段,我只实现了少数意图和动作。要了解您可以使用 Human Framework 进行哪些可能的测试,请检查 trialstests 文件夹的内容。

作者

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

humanframework-0.6.2.tar.gz (14.2 kB 查看散列值)

上传时间

构建分布

humanframework-0.6.2-py2.py3-none-any.whl (25.9 kB 查看散列值)

上传时间 Python 2 Python 3

支持