我正在開發一個測試平臺,它通過python gui運行多個測試並打印輸出如下。如何訪問GUI輸出?
A Passed
B Passed
C Passed
D Passed
E Passed
gui的按鈕只有在A,B,C,D,E都通過的情況下才能更改爲「通過」。如果其中任何一項測試失敗,則應該說失敗。從屏幕上打印的gui訪問這個輸出的方法是什麼。
我的測試代碼是:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys, os, time
from PyQt4 import QtGui, QtCore
from progress.bar import Bar
import datetime
import thread
class MyTestBench(QDialog, QtGui.QWidget):
def __init__(self):
super(QDialog, self).__init__()
self.setWindowTitle("Implementation")
self.progressbar = QtGui.QProgressBar()
self.progressbar.setMinimum(0)
self.progressbar.setMaximum(100)
self.run_test_button = QtGui.QPushButton('Run Your Tests')
self.run_test_button.clicked.connect(self.run_test_event)
def run_test_event(self):
thread.start_new_thread(self.run_the_test, ("Thread-1", 0.5))
thread.start_new_thread(self.run_the_progress, ("Thread-2", 0.5))
def run_the_test(self, tname, delay):
os.system("python nxptest.py my_testlist.txt")
self.progressbar.setValue(100)
if self.progressbar.value() == self.progressbar.maximum():
time.sleep(3)
self.run_test_button.setText('Run Your Tests')
def run_the_progress(self, tname, delay):
count = 0
while count < 5:
self.run_test_button.setText('Running.')
time.sleep(0.5)
self.run_test_button.setText('Running..')
time.sleep(0.5)
self.run_test_button.setText('Running...')
value = self.progressbar.value() + 10
self.progressbar.setValue(value)
time.sleep(0.5)
if self.progressbar.value() == self.progressbar.maximum():
self.progressbar.reset()
count = count + 1
app = QApplication(sys.argv)
dialog = MyTestBench()
dialog.setGeometry(100, 100, 200, 50)
dialog.show()
app.exec_()
我面對這裏是我新的GUI編程,我不知道如何訪問印在屏幕上輸出的主要挑戰。
測試只能通過print語句產生輸出? – mdurant 2014-10-20 18:09:13
@mdurant是的,這項工作是通過nxptest.py模塊完成 – tryPy 2014-10-20 18:33:11