robotframework-formatcompare-reactor

Robot framework keywords to compare different data structures (csv, xml, json) via mapfiles

Лицензия

Лицензия

Категории

Категории

React Взаимодействие с пользователем Веб-фреймворки ORM Данные Reactor Контейнер Микросервисы Reactive libraries
Группа

Группа

com.github.jep42
Идентификатор

Идентификатор

robotframework-formatcompare-reactor
Последняя версия

Последняя версия

0.0.3
Дата

Дата

Тип

Тип

pom
Описание

Описание

robotframework-formatcompare-reactor
Robot framework keywords to compare different data structures (csv, xml, json) via mapfiles
Ссылка на сайт

Ссылка на сайт

https://github.com/JeP42/robotframework-formatcompare
Система контроля версий

Система контроля версий

https://github.com/JeP42/robotframework-formatcompare

Скачать robotframework-formatcompare-reactor

Имя Файла Размер
robotframework-formatcompare-reactor-0.0.3.pom 4 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.jep42/robotframework-formatcompare-reactor/ -->
<dependency>
    <groupId>com.github.jep42</groupId>
    <artifactId>robotframework-formatcompare-reactor</artifactId>
    <version>0.0.3</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.jep42/robotframework-formatcompare-reactor/
implementation 'com.github.jep42:robotframework-formatcompare-reactor:0.0.3'
// https://jarcasting.com/artifacts/com.github.jep42/robotframework-formatcompare-reactor/
implementation ("com.github.jep42:robotframework-formatcompare-reactor:0.0.3")
'com.github.jep42:robotframework-formatcompare-reactor:pom:0.0.3'
<dependency org="com.github.jep42" name="robotframework-formatcompare-reactor" rev="0.0.3">
  <artifact name="robotframework-formatcompare-reactor" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.jep42', module='robotframework-formatcompare-reactor', version='0.0.3')
)
libraryDependencies += "com.github.jep42" % "robotframework-formatcompare-reactor" % "0.0.3"
[com.github.jep42/robotframework-formatcompare-reactor "0.0.3"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

  • formatcompare
  • remoteserver

Build Status Maven Central

robotframework-formatcompare

Description

This library provides keywords to compare different data structures (csv, xml, json, xls(x)) via mapfiles. The mapfile specifies the elements which are compared with each other and defines certain rules for this compare operation.

Keywords

See the keyword documentation for information about the provided keywords.

Usage

Since the library is implemented in Java it can be used together with Jython just by importing the library within the test file. To be able to use it with Python the library has to be imported as remote library (refer to the RobotFrameworkUserGuide for more information about Remote Libraries)

Jython

*** Settings ***
Library    com.github.jep42.robotformatcompare.RobotFormatCompare

Remote Library Server

*** Settings ***
Library    Remote    http://localhost:8270/RobotFormatCompare

Robot Testcase Sample: Compare JSON with XML

*** Test Cases ***
Compare Download Formats JSON And XML
    ...
    Initialize Json Format Handler    GMT+01:00    dd.MM.yyyy HH:mm:ss    dd.MM.yyyy    " ,2"
    Initialize Xml Format Handler    GMT+01:00     yyyyMMddHHmmss    yyyyMMddHHmmss    " .2"
    Compare Json With XML    ${TESTDATA}/json2xml.mapfile    ${TEMPDIR}/jsondownload.json    ${TEMPDIR}/xmldownload.xml
    ...

The test case above references the mapfile ${TESTDATA}/json2xml.mapfile which maps elements from a Json (JSONPath expression) to elements of an XML (XPath expression) structure:

$.data[0].firstname;Neverland/Persons/Person[1]/Firstname;STRING;=;;
$.data[0].lastname;Neverland/Persons/Person[1]/Lastname;STRING;=;;
$.data[0].email;Neverland/Persons/Person[1]/Email;STRING;=;;
$.data[0].email;Neverland/Persons/Person[1]/Email2;STRING;!=;;
$.data[0].sex;Neverland/Persons/Person[1]/Firstname;STRING;=;;

Robot Testcase Sample: Compare CSV with XML

Compare Download Formats CSV And XML
    ...
    Initialize Csv Format Handler    GMT+01:00    dd.MM.yyyy HH:mm:ss    dd.MM.yyyy    " ,2"    0
    Initialize Xml Format Handler    GMT+01:00     yyyyMMddHHmmss    yyyyMMddHHmmss    " .2"
    Compare Csv With XML    ${TESTDATA}/csv2xml.mapfile    ${TEMPDIR}/csvdownload.csv    ${TEMPDIR}/xmldownload.xml
    ...

The test case above references the mapfile ${TESTDATA}/csv2xml.mapfile which maps elements from a CSV (EasyCSVMap selector expression) to elements of an XML (XPath expression) structure:

{1}.firstname;Neverland/Persons/Person[1]/Firstname;STRING;=;;
{1}.lastname;Neverland/Persons/Person[1]/Lastname;STRING;=;;
{1}.email;Neverland/Persons/Person[1]/Email;STRING;=;;
{1}.email;Neverland/Persons/Person[1]/Email2;STRING;!=;;
{1}.sex;Neverland/Persons/Person[1]/Sex;STRING;=;;

Dependencies

  • org.robotframework:javalib-core:1.2.1 (Download from Maven Central)
  • com.google.code.findbugs:jsr305:2.0.1 (Download from Maven Central)
  • org.slf4j:slf4j-api:1.7.21 (Download from Maven Central)
  • com.github.jep42:robotframework-easycsvmap:0.0.2 (Download from Maven Central)
  • com.jayway.jsonpath:json-path:2.2.0 (Download from Maven Central)
  • org.apache.poi:poi:3.17 (Download from Maven Central)
  • [only for sub-module remoteserver] com.github.ombre42:jrobotremoteserver:3.0 (Download from Maven Central)

Build from source

  • Clone the repository
  • Execute mvn install on the root folder of the project to build the reactor which consist of two modules
  • Sub-module "formatcompare": The keyword library
  • Sub-module "remoteserver": The remote server which already contains the keyword library

Версии библиотеки

Версия
0.0.3
0.0.2