当使用Cucumber和子进程从节点js调用时,循环在python中不起作用

2024-10-04 09:28:14 发布

您现在位置:Python中文网/ 问答频道 /正文

班长:

 async def MasterPool(Size,Assay_PoolSize,TubeID,MasterPoolID,MPSize):


     x=12
     #await time.sleep(10000)
     i=0
     z = Lis(Size,Assay_PoolSize,TubeID)
     t=int(MPSize)-1
     print(t)


     while i==0:
             j = len(os.listdir(r'C:\Test'))
             print(j)

             if j==0:
                 print("MasterPoolInProgress")
                 with open(r'C:\Users\Katyald\Documents\MasterPool\MAS (1).pol','r') as file:
                     data = file.readlines()
                 with open(r'C:\Test\stats.pol', 'w') as f:
                     for i, line in enumerate(data,0):
                         if "Pool Size:" in line:
                             f.writelines("Pool Size: {}\n".format(MPSize))
                         else:       
                             if "Master Pool ID:" in line:
                                 f.writelines("Master Pool ID:{}\n".format(MasterPoolID))
                                 for i in range (0,int(MPSize)):
                                     f.writelines(z[i]+ "\n")

                             else:

                                 f.write(data[i])
                 break
           main.MasterPool(int(sys.argv[1]),str(sys.argv[2]),str(sys.argv[3]),str(sys.argv[4]),int(sys.argv[5]))

我正在尝试创建一个e2e自动化测试用例,其中数据的创建是测试脚本的一部分。我用python编写了测试数据创建,我想在cucumber框架中使用它

我使用Cucumber和typescript,其中一个步骤是创建测试数据,它在步骤定义中调用的方法之一中使用spawn调用上述python脚本

用例: 1.在一个文件夹中创建4个文件。 2.检查上述文件是否已被删除(在实时测试中,文件被删除,因为读取这些hl7文件的工具会在读取后将其删除。) 3.删除后,在另一个目录中创建另一个文件 4.检查上述文件是否已删除。 5.打开用户界面 6.验证UI上的数据

流程突然结束,显示测试已完成,通过了一个场景,但仅创建了4个文件,其余逻辑不起作用。 当我通过python执行上面的python脚本时,它会按预期工作,但不会与spawn一起工作

我看到的一个常见行为是,当我试图从spawn调用python中的循环时,它一直工作到值为15K,之后就不工作了


Tags: 文件inwritelinesdatasizeifsysline