51Testing软件测试论坛
标题:
python 线程相关问题:多线程是否会影响子进程里面的print 操作
[打印本页]
作者:
测试积点老人
时间:
2021-9-10 13:53
标题:
python 线程相关问题:多线程是否会影响子进程里面的print 操作
大概描述一下我的问题:
创建了一个线程,线程内是能够正常运行的unittest框架的测试脚本
测试脚本内加了一个print 操作,线程和线程内测试脚本都正常执行完成,但相关的变量没有print出来
原本猜测可能和unittest有关,但去掉外层的线程创建之后,变量能正常打印,
所以猜测是否和多线程有关,多线程是否会有相关的影响?
猜测可能是这个原因,还在持续调试中,麻烦帮看看,谢谢
注:当前只创建了一个线程,之所以使用多线程,是有多个线程同步执行case的需求
部分代码如下:
#执行case 和多线程创建部分的代码
def run_case():
cur_thread_name = threading.current_thread().name
report_name = Path.date_time + '_' + cur_thread_name + 'Report.html'
testlist = unittest.defaultTestLoader.discover(
start_dir=Path.testcase_path_x_mac
, pattern='test*.py')
result = BeautifulReport(testlist)
result.report(filename=report_name, description='Result of test', log_path=Path.report_path)
class myThread(threading.Thread):
def __init__(self, thread_id, name):
threading.Thread.__init__(self)
self.thread_id = thread_id
self.name = name
def run(self):
print('开启线程:' + self.name + '\n')
run_case()
print('退出线程:' + self.name)
if __name__ == '__main__':
thread_list = []
for i in range(len(ListData.node_list)):
thread_name = ListData.node_list[i]
new_thread = myThread(i, thread_name)
thread_list.append(new_thread)
for thread in thread_list:
thread.start()
for thread in thread_list:
thread.join()
复制代码
部分执行case 部分,加了个print
[attach]134363[/attach]
作者:
qqq911
时间:
2021-9-13 10:34
可以下断点调试下
作者:
海海豚
时间:
2021-9-13 16:11
https://blog.csdn.net/weixin_39585974/article/details/111010847
参考这个看看
作者:
jingzizx
时间:
2021-9-13 16:20
要看多线程调用是否会使用相同的资源
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2