一个用于webpack的robot框架库。

robotframework-webpack的Python项目详细描述


https://travis-ci.org/kitconcept/robotframework-webpack.svg?branch=masterEgg StatusLatest VersionLicensekitconcept

简介

webpack library是一个用于webpack的robot框架库。它允许启动 停止webpack开发服务器。

安装

使用pip:

安装robotframework webpack
$ pip install robotframework-webpack

用法

为了编写第一个robot测试,请确保包含selenium2库和webpacklibrary。创建包含以下内容的test.robot文件:

*** Variables ***
${HOST}                 127.0.0.1
${PORT}                 8080
${BROWSER}              chrome
${SERVER}               http://${HOST}:${PORT}


*** Settings ***

Documentation   WebpackLibrary Acceptance Tests
Library         Selenium2Library  timeout=10  implicit_wait=0
Library         WebpackLibrary
Suite Setup     Start Webpack and Open Browser
Suite Teardown  Stop Webpack and Close Browser


*** Test Cases ***

Scenario: Webpack Dev Server
  Go To  ${SERVER}
  # Amend this line to check for the real content of your app. Otherwise this test will fail.
  Wait until page contains  Hello World
  Page Should Contain  Hello World


*** Keywords ***

Start Webpack and Open Browser
  Start Webpack  yarn start
  Open Browser  ${SERVER}  ${BROWSER}
  Set Window Size  1280  1024

Stop Webpack and Close Browser
  Stop Webpack
  Close Browser

关键词

启动webpack:启动webpack进程。关键字使用命令行命令启动webpack(例如“yarn start”)。

Start Webpack yarn start

可选参数为:

  • path: relative or absolute path to the path where the command should be executed.
  • check: string that the keyword looks for in the Webpack output to know that Webpack has been fully started (default is ‘Compiled successfully’).
  • debug: returns debug information

设置了所有参数的示例:

Start Webpack  yarn start
..  path=tests/test-create-react-app
..  check=Compiled successfully
..  debug=True

stop webpack:停止用“start webpack”启动的webpack进程。 关键字没有参数。

基本原理

您可以使用标准的robot框架关键字启动webpack进程:

Run process  yarn run build  shell=True  cwd=${CURDIR}
Run process  yarn global add serve  shell=True  cwd=${CURDIR}
Start process  serve -s build  shell=True  cwd=${CURDIR}

您甚至可以在测试结束时终止进程(套件):

Terminate All Processes  kill=True

不过。您需要设置一个sleep语句以等待网页包 进程已完全启动并运行。因为这需要相当多的时间 当然,这会使您的测试套件效率低下,难以扩展。

robot framework webpack检查webpack进程的输出,直到它 完全启动并运行。一旦webpack准备好,测试就可以继续。

开发

项目设置:

$ virtualenv-2.7 .py27
$ source .py27/bin/activate
$ pip install -r requirements.txt
$ python setup.py develop

运行测试:

$ .py27/bin/pybot tests

1.1.3(2018-03-03)

错误修复:

  • 当传递的字符串已经是字节字符串时,不要使用故障保护字节。 [timo]

1.1.2(2018-03-03)

错误修复:

  • 修正“typeerror:python 3需要一个类似于object的字节,而不是'str'” 调用“start webpack”关键字时。 [timo]

1.1.1(2018-03-03)

错误修复:

  • 修复当Webpack进程引发运行时错误时Python3上的Unicode解码错误。 [timo]

1.1.0(2018-03-01)

新功能:

  • python 3兼容性。 [timo]

1.0.5(2018-03-01)

错误修复:

  • 从readme.rst中删除br。这是对皮皮的破坏。 [timo]

1.0.4(2018-03-01)

错误修复:

  • 修复“stop webpack”关键字中的错误,该关键字在导入时会破坏整个库。 [timo]

1.0.3(2018-03-01)

错误修复:

  • 当'start webpack'和'stop webpack'失败时引发运行时错误。 [timo]

1.0.2(2018-02-15)

错误修复:

  • 在自述文件中删除中断PYPI页的BR。 [timo]

1.0.1(2018-02-15)

错误修复:

  • 修复自述文件中的其余部分。 [timo]

1.0.0(2018-02-15)

中断更改:

  • 重构“start webpack”关键字。 删除“主机”、“端口”、“内容库”、“配置”、“网页包bin路径”、“调试”参数。 保持“路径”参数。添加必需的“command”参数和可选的“check”参数。 [timo]

错误修复:

  • 使用进程组启动webpack以能够停止所有子进程。 这修复了create react app遗留子进程的问题。 [timo]

1.0A8(2016-07-21)

中断更改:

  • 将robot库范围更改为“全局”。点火是没有意义的 每个测试的网页包。 [timo]

1.0A7(2016-07-19)

错误修复:

  • 不要记录网页包路径。 [timo]

1.0A6(2016-07-18)

错误修复:

1.0A5(2016-07-13)

新功能:

  • 将“webpack\u bin\u path”参数添加到“start webpack”关键字。 [timo]

1.0A4(2016-07-13)

中断更改:

  • 将WebpackLibrary导入中的所有参数移到“start webpack”关键字。 [timo]

错误修复:

  • 从依赖项中删除请求。 [timo]
  • 修复包关键字。 [timo]

1.0A3(2016-07-13)

错误修复:

  • 修正基本参数。 [timo]
  • 调用webpack时记录错误。 [timo]

1.0A2(2016-07-13)

新功能:

  • 将配置参数添加到WebpackLibrary。 [timo]

1.0A1(2016-07-12)

  • 初次发布。 [timo]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何忽略缓冲读取器中在“”之后的行的其余部分,或行上的特定字符?   java在db中创建空对象或稍后保存   java如何实现UI无关的后台工作任务   java未能在Android中从BaseAdapter扩展的类中启动Tactivity?   java斐波那契迭代移动数组[]   安卓从文件读取提供了java。木卫一。StreamCorruptedException:无效的流标头:73720027   java计算矩形中的六边形数?   仅使用Java 1.5(或更早版本)读写XML   java如果所有元素都以相同的bucked结尾,为什么要进行大小调整?   java Apache POI Excel在xx中发现无法读取的内容。xlsx   swing我可以在普通java应用程序中使用GWTGUI吗?   来自自定义Java客户端的http删除请求的行为与邮递员不同   运行批处理文件时,java当前目录无效   使用TypeReference将java字符串转换为ArrayList<STRING>   documentlistener突出显示所有匹配词Java