2015-11-03 68 views
2

我從機器人關鍵字調用python方法。但我不希望機器人框架等待測試完成,因爲我想連續運行該方法。如何繼續運行下一個測試用例? 例如我從機器人關鍵字調用啓動日誌(python方法)如何讓方法在後臺運行

def start_logs(self): 
    subprocess.call('adb logcat > test.txt', shell=True) 

啓動日誌後,我想運行其他測試用例。但機器人框架一直在等待上面。

+6

使用['subprocess.Popen'](https://docs.python.org/3/library/subprocess.html#subprocess.Popen) –

+0

http://stackoverflow.com/questions/1196074/starting-a -background-process-in-python – Romaan

回答

2

你可以這樣做:

def start_logs(self): 
    subprocess.Popen(['adb', 'logcat', '>', 'test.txt']) 

使用subprocess.Popen作爲在評論中提到Colonel Thirty Two

+0

當我運行而不是寫入文件時,它只是將adb logcat打印到控制檯?看起來像「>」不工作? – user2661518

1

有一個關鍵字! Start Process將調用任何關鍵字,但不會等待它返回。不要忘記將Process庫添加到您的項目中。

+0

啓動過程不能和關鍵字一起使用 – maiksaray

+0

@maiksaray:是的。您可以使用啓動過程中的命令,而不是關鍵字。 – joris255