Добавление результатов теста в Quality Center Run из внешнего скрипта Python - PullRequest
0 голосов
/ 15 октября 2011

Я хочу попытаться добавить все подробности шага - ожидаемый, фактический, статус и т. Д. В прогон контроля качества для тестового набора TestSet из скрипта Python, который находится за пределами Центра качества.Я дошел до этого места (код приведен ниже) и не знаю, как добавить ожидаемый шаг и фактический результат шага.Если кто-нибудь знает, как это сделать, пожалуйста, помогите мне !!Пожалуйста, я не хочу никаких решений QTP.Спасибо, Code-

# Script name - add_tsrun.py 
# C:\Python27\python.exe 
# This script lives locally on a Windows machine that has - Python 2.7, Win32 installed, IE8 
# Dependencies on Windows Machine - Python 2.7, PythonWin32 installed, IE8, a QC Account, connectivity to QCServer 
import win32com.client, os 
tdc = win32com.client.Dispatch("TDApiOle80.TDConnection") 
tdc.InitConnection('http://QCSERVER:8080/qcbin') 
tdc.Login('USERNAME', 'PASSWORD') 
tdc.Connect('DOMAIN_NAME', 'PROJECT') 
tsFolder = tdc.TestSetTreeManager.NodeByPath('Root\\test_me\\sub_folder') 
tsList = tsFolder.FindTestSets('testset1') 
ts_object = tsList.Item(1) 
ts_dir = os.path.dirname('testset1') 
ts_name = os.path.basename('testset1') 
tsFolder = tdc.TestSetTreeManager.NodeByPath(ts_dir) 
tsList = tsFolder.FindTestSets(ts_name) 
ts_object = tsList.Item(1) 
TSTestFact = ts_object.TSTestFactory 
TestSetTestsList = TSTestFact.NewList("") 
ts_instance = TestSetTestsList.Item(1) 
newItem = ts_instance.RunFactory.AddItem(None)   # newItem == Run Object 
newItem.Status = 'No Run' 
newItem.Name = 'Run 03' 
newItem.Post() 
newItem.CopyDesignSteps()   # Copy Design Steps 
newItem.Post() 
steps = newItem.StepFactory.NewList("") 
step1 = steps[0] 
step1.Status = "Not Completed" 
step1.post() 
## How do I change the Actual Result?? 
## I can access the Actual, Expected Result by doing this, but not change it
step1.Field('ST_ACTUAL') = 'My actual result'           # This works in VB, not python as its a Syntax error!! 
Traceback (  File "<interactive input>", line 1 
SyntaxError: can't assign to function call

Надеюсь, это поможет вам, ребята.Если вы знаете ответ, чтобы установить фактический результат, пожалуйста, помогите мне и дайте мне знать.Спасибо, Амит

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Нашел ответ после большого количества поиска Google:)

Простой -> Просто сделайте это:

step1.SetField("ST_ACTUAL", "my actual result") # Wohhooooo!!!!

Если приведенный выше код не работает, попробуйте сделать следующее:-

(OPTIONAL) Set your win32 com as follows- (Making ''Late Binding'')
# http://oreilly.com/catalog/pythonwin32/chapter/ch12.html
    a. Start PythonWin, and from the Tools menu, select the item COM Makepy utility.
    b. Using Windows Explorer, locate the client subdirectory (OTA COM Type Library)
       under the main win32com directory and double-click the file makepy.py.

Спасибо всем ...

2 голосов
/ 16 октября 2011

Как Итан Фурман ответил на ваш предыдущий вопрос :

В Python () представляет вызовы функций, в то время как [] представляет индексирование и отображение.

Итак, другими словами, вы, вероятно, хотите сделать step1.Field['ST_ACTUAL'] = 'My actual result'

...