人机框架:面向人类™的测试自动化框架
项目描述
人机框架:面向人类™的测试自动化框架
注意:人机框架仍处于 概念验证 阶段
贡献!我将人机框架发布在GPLv3下,使其成为开源和免费的。
通过以下方式贡献
- 训练数据本地化(翻译)
- 添加更多意图和动作
- 报告错误
- 建议新功能
注意:我正在开发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。"(没有声音,但未来可能实现)
工作原理
人机框架的架构可以简化为两个步骤——意图分类和动作执行
- Human框架读取测试用例文件,然后使用意图分类器(例如LUIS.ai)来识别意图和实体。例如,句子“打开chrome浏览器”将被识别为意图“web.open_browser”,实体“chrome”作为浏览器类型。
- Human框架随后执行特定于分类意图的操作。例如,意图“web.open_browser”将使用Selenium来自动打开一个chrome浏览器。
使用/安装
创建Azure账户
-
前往Azure门户并创建账户。
-
在Azure门户仪表板上,点击
创建资源
,查找认知服务
并点击创建
-
填写表单并点击
创建
按钮
创建LUIS.ai账户
-
从https://raw.githubusercontent.com/roniemartinez/HumanFramework/master/train/en.json下载Human框架训练数据,并以
.json
扩展名保存 -
前往LUIS.ai并创建账户
-
点击
导入新应用
-
点击
选择应用文件(JSON格式)...
并选择下载的Human框架训练数据 -
可选地,输入您希望的应用名称
-
点击
完成
-
点击您创建的应用。
-
在应用仪表板上,点击
训练
以训练您的LUIS.ai应用
连接Azure账户到LUIS.ai并发布
-
点击
管理
>Azure资源
>添加预测资源
-
填写表单
-
点击
发布
,选择生产
然后点击发布
按钮 -
回到
Azure资源
。如果您将应用发布到预发布
环境,请使用更改查询参数
在环境之间切换。 -
复制第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 进行哪些可能的测试,请检查 trials
和 tests
文件夹的内容。
作者
项目详情
humanframework-0.6.2.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6c5847926acb58d0f401413899b394641ca02b83025dcc44adf96f2fe77fa220 |
|
MD5 | 2c32d6e7dbd517c58f284fd8aacf1ecc |
|
BLAKE2b-256 | c044dc82dc8b82c9e620c2a09c5538fbbfe5aba23aa85bb66ebc2caf6e4f8d31 |
humanframework-0.6.2-py2.py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 26db4d4d1044e86762029d99d1da957141ceeccf5e1b7904ca74808c7e27508e |
|
MD5 | 4c44f314a95b19ff42eb01425daa4ffb |
|
BLAKE2b-256 | 2139395db646c713c4df3c1d13e2f87e94aafebb447451cd2f76cee241881a5d |