diff --git a/testreport.py b/testreport.py
new file mode 100644
index 00000000..9fd2e257
--- /dev/null
+++ b/testreport.py
@@ -0,0 +1,137 @@
+try:
+ import plotly
+ import plotly.graph_objs as go
+ import plotly.plotly as py
+ import datetime
+ scanneddomain='google.com'
+ totalnumberofdomains = 4
+ totalnumberofhosts = 14
+ totalnumberofip = 10
+ totalnumberofvhost=3
+ totalnumberofemail=15
+ totalnumberofshodan=7
+ date1=datetime.date(2018,12,1)
+ date2=datetime.date(2018,12,3)
+ date3=datetime.date(2018,12,5)
+ date4=datetime.date(2018,12,8)
+ date5=datetime.date(2018,12,10)
+ HTML='''
+
+
+ theHarvester Scan Report
+ TheHarvester scanning dashboard
+
+
+
+ Domains |
+ Hosts |
+ IP Addresses |
+ Vhosts |
+ Emails |
+ Shodan |
+
+ '''+'''
+ '''+str(totalnumberofdomains)+''' |
+ '''+str(totalnumberofhosts)+''' |
+ '''+str(totalnumberofip)+''' |
+ '''+str(totalnumberofvhost)+''' |
+ '''+str(totalnumberofemail)+''' |
+ '''+str(totalnumberofshodan)+''' |
+ '''+'''
+
+
+
+
+
+
+
+ Latest scan summary for '''+scanneddomain+'''
+ Emails found:
+
+ - email1@google.com
+ - email2@google.com
+
+ Hosts found:
+
+ - host1.google.com
+ - host2.google.com
+ - host3.google.com
+
+ IP addresses found:
+
+ - 87.12.42.12
+ - 87.12.42.11
+ - 87.12.43.11
+ - 87.12.44.11
+
+ Shodan results:
+
+ '''
+ barcolumns = ["host","ip","vhost","shodan","email"]
+ bardata = [totalnumberofhosts,totalnumberofip,totalnumberofvhost,totalnumberofshodan,totalnumberofemail]
+ layout = dict(title = "Last scan - number of targets identified for "+scanneddomain+" on "+str(date5),
+ xaxis = dict(title = 'Targets'),
+ yaxis = dict(title = 'Hits'),
+ )
+
+ barchart=plotly.offline.plot({
+ "data": [go.Bar(x=barcolumns,y=bardata)],
+ "layout": layout,
+ }, auto_open=False,filename='report.html', output_type='div')
+ HTML+=barchart
+
+
+ trace0 = go.Scatter(
+ x=[date1,date2,date3,date4,date5],
+ y=[3, 10, 9, 17,10],
+ mode = 'lines+markers',
+ name = 'hosts')
+
+ trace1 = go.Scatter(
+ x=[date1,date2,date3,date4,date5],
+ y=[2, 6, 9, 10, 5],
+ mode = 'lines+markers',
+ name = 'IP address')
+
+ trace2 = go.Scatter(
+ x=[date1,date2,date3,date4,date5],
+ y=[1, 2, 4, 6, 2],
+ mode = 'lines+markers',
+ name = 'vhost')
+
+ trace3 = go.Scatter(
+ x=[date1,date2,date3,date4,date5],
+ y=[2, 3, 2, 5, 7],
+ mode = 'lines+markers',
+ name = 'shodan')
+
+ trace4 = go.Scatter(
+ x=[date1,date2,date3,date4,date5],
+ y=[12, 14, 20, 24, 20],
+ mode = 'lines+markers',
+ name = 'email')
+
+
+ data = [trace0, trace1, trace2, trace3, trace4]
+ layout = dict(title = "Scanning history for "+scanneddomain,
+ xaxis = dict(title = 'Date'),
+ yaxis = dict(title = 'Results'),
+ )
+
+ scatterchart = plotly.offline.plot({
+ "data": data,
+ "layout": layout}, auto_open=False,include_plotlyjs=False,filename='report.html', output_type='div')
+ HTML+=scatterchart
+ HTML+='Report generated on '+ str(datetime.datetime.now())+'
'
+ HTML+='''
+
+
+ '''
+
+ Html_file= open("report.html","w")
+ Html_file.write(HTML)
+ Html_file.close()
+except Exception as e:
+ print("ERROR: "+str(e))