# ecoding=utf-8
import socket
import time
##ROBOT_LISTENER_API_VERSION = 2
class RobotListener2(object):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
ROBOT_LISTENER_API_VERSION = 2
def __init__(self):
self.sock = socket.socket()
self._connect()
def _close(self):
self.sock.close()
def _connect(self):
self.conn = self.sock.connect(("127.0.0.1", 50007))
self._send_socket(b"connecting ........ OK")
def start_suite(self, name, attrs):
self._send_socket("Starting Suite : " + str(name) + str(attrs["doc"]) + str(attrs["tests"]) +str(attrs["totaltests"])+ str(attrs['starttime']))
def start_test(self, name, attrs):
self._send_socket("Starting test : " + str(name) + str(attrs["doc"]) + str(attrs["tags"]) + str(attrs['starttime']))
def end_test(self, name, attrs):
if attrs['status'] == 'FAIL':
self._send_socket('Test "%s" failed: %s time:%s' % (name, attrs['message'],attrs['endtime']))
else:
self._send_socket('Test "%s" PASS: %s time:%s' % (name, attrs['message'], attrs['endtime']))
def end_suite(self, name, attrs):
if attrs['status'] == 'FAIL':
self._send_socket('Ending suite: "%s" failed: %s time:%s' % (name, attrs['message'],attrs['endtime']))
else:
self._send_socket('Ending suite: "%s" PASS: %s time:%s' % (name, attrs['message'], attrs['endtime']))
def _send_socket(self, msg):
str(msg).replace(u'\xa0', u' ')
data = ('%s' % msg).encode("gbk")
try:
self.sock.sendall(data)
except Exception:
self._close()
self._connect()
def close(self):
self._send_socket('All tests executed---close')
self._close()
def message(self, message):
self._send_socket(str(str(message['level']) +" "+ message['timestamp']) +" "+ str(message['message']))
def log_message(self, message):
self._send_socket(str(str(message['level']) +" "+ message['timestamp']) +" "+ str(message['message']))