thread_test_for_weifule.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import os
  4. import sys
  5. import threading
  6. import time
  7. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  8. sys.path.insert(0, PROJECT_ROOT)
  9. os.environ.update({"DJANGO_SETTINGS_MODULE": "configs.testing"})
  10. import django
  11. django.setup()
  12. from apps.web.core.helpers import ActionDeviceBuilder
  13. from apps.web.device.models import Device
  14. class Tester(threading.Thread):
  15. def __init__(self,sleepTime, runTimes,logicalCode,func,**args):
  16. super(Tester, self).__init__()
  17. dev = Device.get_dev_by_l(logicalCode)
  18. self._smartBox = ActionDeviceBuilder.create_action_device(dev)
  19. self._func = func
  20. self._args = args
  21. self._runTimes = runTimes
  22. self._sleepTime = sleepTime
  23. def run(self):
  24. count = 0
  25. while count < self._runTimes:
  26. count += 1
  27. try:
  28. result = eval('self._smartBox.%s(**self._args)' % self._func)
  29. print result
  30. if self._sleepTime:
  31. time.sleep(self._sleepTime)
  32. except Exception,e:
  33. print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!error = %s,func=%s' % (e,self._func))
  34. logicalCode = '862167056699030'
  35. ii = 0
  36. for ii in range(1):
  37. Tester(100,100000,logicalCode,'clear_dev_feecount').start()
  38. ii = 0
  39. for ii in range(1):
  40. Tester(100,100000,logicalCode,'get_card_mode').start()
  41. ii = 0
  42. for ii in range(1):
  43. Tester(100,100000,logicalCode,'get_card_pwd').start()
  44. ii = 0
  45. for ii in range(1):
  46. Tester(100,100000,logicalCode,'get_dev_consume_count').start()
  47. ii = 0
  48. for ii in range(1):
  49. Tester(100,100000,logicalCode,'get_dev_setting').start()
  50. ii = 0
  51. for ii in range(1):
  52. Tester(100,100000,logicalCode,'get_part_info').start()
  53. ii = 0
  54. for ii in range(10):
  55. Tester(100,100000,logicalCode,'get_port_info',line=ii+1).start()
  56. ii = 0
  57. for ii in range(1):
  58. Tester(100,100000,logicalCode,'get_port_status_from_dev').start()
  59. ii = 0
  60. for ii in range(10):
  61. Tester(100,100000,logicalCode,'lock_unlock_port',port=ii+1,lock=False).start()
  62. Tester(100,100000,logicalCode,'lock_unlock_port',port=ii+1,lock=False).start()
  63. ii = 0
  64. for ii in range(10):
  65. Tester(1,100000,logicalCode,'set_card_mode',setConf={'card_mode':0}).start()
  66. ii = 0
  67. for ii in range(10):
  68. Tester(100,1000,logicalCode,'start_device',package={'time':3,'unit':u'分钟','coins':1,'price':1},openId='aaaaaaaaaaaaaa',attachParas = {'chargeIndex':ii+1}).start()
  69. ii = 0
  70. for ii in range(10):
  71. Tester(200,100000,logicalCode,'stop_charging_port',port = ii).start()
  72. print 'finished'