Code Monkey home page Code Monkey logo

difido-reports's People

Contributors

alik-g avatar alikg avatar anhermon avatar anhermon-zz avatar aviel-checkpoint avatar dependabot[bot] avatar dorshalom1 avatar hengoldburd avatar itaiag avatar itaitopq avatar meitalmi avatar ohadaseo avatar ronyb avatar ronyb-etoro avatar talevi83 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

difido-reports's Issues

Machine name is not unique

Machine name contains the host name which is not unique because sometimes people can clone VM machine and with the same host name.
MachineName property should contains both host name and IP address.

JSsytem client failed to launch

I was playing with JSystem client remoteDifido.properties file.
I've changed append.to.existing.execution flag value to test the server execution behavior. In the fifth attempt of restarting JSystem client, it failed to launch (see Jsystem_client_log_file1).
When I've tried to kill difido-server and tried to launch Jsystem client again, I've received another exception (Jsystem_client_log_file2).
Both JSystem and Difido-server logs are attached.

Jsystem_client_log_file2.txt | uploaded via ZenHub

difido_server_doc_root_log_file.txt | uploaded via ZenHub

Jsystem_client_log_file1.txt | uploaded via ZenHub

Execution active status is incorrect

When a new Execution folder being created, the former Execution Activation status is true instead of false.
Steps to reproduce:

  1. Configuration files:

JSystem remoteDifido.properties settings:
append.to.existing.execution=false
enabled=true

difido_config.properties:
enable_html_reports=true
base_uri=http://xxx.xxx.xxx.xxx:8080/api/
enable_elastic_search=true
max_execution_idle_time_in_seconds=20
doc_root_folder=docRoot
path_data=data/index

  1. Open JRunner.
    Result: First execution folder is being created with activation status true == Execution Id 1 – Active true.
  2. Run a scenario.
    Result: The scenarios tests are being publish successfully to execution 1.
  3. Close JRunner.
    Result: Execution Id 1 – Active true.
    Excepted result: Execution Id 1 – Active false.
  4. Wait “max_execution_idle_time_in_seconds” (20) seconds.
    Result: Execution Id 1 – Active true
    Excepted result: Execution Id 1 – Active false.
  5. Open JRunner.
    Result: Execution Id 1 – Active true, Execution Id 2 – Active true.
    Excepted result: Execution Id 1 – Active false, Execution Id 2 – Active true.

**Please note:

  1. It seems that tests are being published to the right execution directory.
  2. Same behavior with JRunner "Init Reporters" (Instead of Close JRunner, click on "Init Reporters").

Merging machines by name

If we report the same ex. number and the machine has the same name as a previous one, the reporter should merge the new machine to the old one instead of opening "new" machine
So if you have:
image
It should be aggregated under one group

Allow deleting executions from the execution list

Add an additional column on the execution list with checkbox (a check all checkbox is also possible), and a delete execution button that will send a request to the server to delete all the selected executions.

An example for data table with checkboxes can be found here

Move the config files to a config folder in the assembly

The difido_config.properties and the log4j.properties configuration files should be in a folder with name config in the assembly.
This should not break the support of reading the configuration files also when running the server from the IDE.

Implement the client

A client that can be integrated in different systems should be implemented. The client should use the HTTP api. It is best if the HTTP calls would be wrapped in something an easy to use wrapper. We are going to consider using some kind of fluent api.

Trends hangs dashboard when over large number of suites

Reproduction:

Add around 30 suites and load the dashboard (index.html)

Expected: All trends should show and dashboard loads as usual.

Actual: The trend graph cause the entire page to hang while loading.

Workaround: navigate to tree.html instead

Performance improvement in the client side

When the number of executions is exceeded the 2000 executions, populating the data table is taking much too long (about 17 seconds).

We need to rewrite the client side and make better use of the JQuery datatable plugin.

Adding a configuration file to the NUnit binder

The Difido NUnit binder should include a configuration file that will allow the user to specify the host and port of the Difido server.
It should probably be some kind of an ini file that will be created by the binder in case none exists.

For example:
remote_difido.ini

[server]
host=192.168.50.55
port=8080
[behaviour]
appendToExistingExecution=true
enable=true

Delete old HTML reports from the Difido server

The server should have the option to use a configurable value for deleting old HTML reports.
User could configure how many days the reports should be saved.
User could select executions to be locked and not to be deleted

Implement the translation of the execution model to HTML reports

Use the addResourceListener mechanism to get notified when even occurs and decide if serialization needs to take place (report should be created).
If it is. Checks if the destination folder is ready, copy the HTML resources if needed and serialize the model.

Test Url address is broken

According to issue #20, when not specifying the server ip address at difido_config.properties, test's URL field is being published to elasticsearch with address 0.0.0.0 instead server's ip address.

Enhance the executionResource API

We need to have the ability to add more meta data to each execution. For start we should have a description for each one. It can be configured in the difido_remote.properties and should appear in the execution list instead of the time stamp.
In addition, while we are at it, we should consider doing some changes in the API. I am thinking about passing a properties object with all the information of the execution. It can hold the description but can also add some additional info like the user that executed it.
This change may break backward compatibility.

Support for multiple executions

Currently, if multiple executions will be created, all the reports will be messed up. We need to add to the ResourceAddedListener also the execution id and to use it in the HTMLViewGenerator class

Add description to the execution

Currently, it is hard to tell in the execution list, who is who and what is what.
There is a need to add a description or some other additional descriptive metadata to each execution and display it in the execution list.
Some of the information can be specified in the remoteDifido.properties file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.