老师,我已经是完全照抄你的代码了,但是0和1就是传不进去,parames输出为None,能帮忙看看吗
来源:5-14 多进程、unittest、HTMLTestRunner、启动服务流程梳理代码重构

慕函数4119770
2020-06-29
import unittest
import HTMLTestRunner
from PO.page.login_success import Login_success_page
from BASE.baseaction import BaseAction
from BASE.server import Server
from multiprocessing import Process
from BASE.write_command import WriteuserCommand
class ParameTestCase(unittest.TestCase):
def __init__(self,methodName='runTest',parame=None):
super(ParameTestCase,self).__init__(methodName)
global parames
parames = parame
class CaseTest(ParameTestCase):
@classmethod
def setUpClass(cls):
print(parames)
'''
cls.ba = BaseAction(parames)
cls.lp = Login_success_page()
'''
def setUp(self):
pass
def test_01(self):
'''
self.ba.wait_element(self.lp.login_button,20)
self.ba.find_element(self.lp.login_button).click()
self.ba.wait_element(self.lp.login_user, 20)
self.ba.send_keys_text(self.lp.login_user,'wm8')
self.ba.send_keys_text(self.lp.login_password,'aaaa2222')
self.ba.find_element(self.lp.login_sure_button).click()
el = self.ba.find_element(self.lp.close_button)
self.assertTrue(el)
'''
def test_02(self):
'''
self.ba.wait_element(self.lp.login_button, 20)
self.ba.find_element(self.lp.login_button).click()
self.ba.wait_element(self.lp.login_user, 20)
self.ba.send_keys_text(self.lp.login_user, 'wm8')
self.ba.send_keys_text(self.lp.login_password, 'aaa22232')
self.ba.find_element(self.lp.login_sure_button).click()
el = self.ba.find_element(self.lp.close_button)
self.assertTrue(el)
'''
def tearDown(self):
pass
@classmethod
def tearDownClass(cls):
pass
def appium_init():
sever = Server()
sever.main()
def get_count():
write_file = WriteuserCommand()
num = write_file.get_file_lines()
return num
def get_suit(i):
suit = unittest.TestSuite()
suit.addTest(CaseTest('test_02',parame=i))
suit.addTest(CaseTest('test_01',parame=i))
html = r'D:\apppro\appreport\app_report' + str(i) + '.html'
f = open(html, 'w')
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title='alex', description='alex')
f.close()
runner.run(suit)
if __name__ == '__main__':
appium_init()
for i in range(get_count()):
t = Process(target=get_suit,args=(i,))
t.start()
1回答
-
Mushishi
2020-06-29
可以啊: import unittest from multiprocessing import Process class ParameTestCase(unittest.TestCase): def __init__(self,methodName='runTest',parame=None): super(ParameTestCase,self).__init__(methodName) global parames parames = parame class CaseTest(ParameTestCase): @classmethod def setUpClass(cls): print("setupclass--->",parames) def setUp(self): pass def test_01(self): print("test_01",parames) def test_02(self): print("test_02",parames) def tearDown(self): pass @classmethod def tearDownClass(cls): pass def get_count(): return 2 def get_suit(i): suit = unittest.TestSuite() suit.addTest(CaseTest('test_02',parame=i)) suit.addTest(CaseTest('test_01',parame=i)) runner = unittest.TextTestRunner() runner.run(suit) if __name__ == '__main__': for i in range(get_count()): t = Process(target=get_suit,args=(i,)) t.start() import time time.sleep(2)
022020-06-30
相似问题