TestLink API Python — как искать тестовые случаи по правопреемнику

Я хотел бы получить список всех тестовых случаев, назначенных конкретному пользователю в TestLink. Я использую TestLink Python API версии 0.6.4. Я читал документацию JetMore для TestLink. .

Пока у меня есть следующий код:

from testlink import TestlinkAPIGeneric, TestLinkHelper
import testlink

TESTLINK_API_PYTHON_SERVER_URL = '<my testlink ip>'
TESTLINK_API_PYTHON_DEVKEY = '<my testlink devkey>'
my_test_link = TestLinkHelper(TESTLINK_API_PYTHON_SERVER_URL, TESTLINK_API_PYTHON_DEVKEY).connect(TestlinkAPIGeneric)

test_project_id = my_test_link.getTestProjectByName('<project name>')['id']
plans = my_test_link.getProjectTestPlans(test_project_id)
# I've also tried ['globalRoleID']
userid = int(my_test_link.getUserByLogin('<user name>')[0]['dbID'])
for plan in plans:
    print(my_test_link.getTestCasesForTestPlan(testplanid=plan['id'], assignedto=userid, details='full'))

Это создает пустой список для каждого плана тестирования в моем проекте:

[]
[]
[]
...

Любая помощь приветствуется.


person Adamsr    schedule 25.07.2017    source источник
comment
Вам вообще не нужен userid. Вместо передачи идентификатора пользователя назначенному для передачи имени пользователя. печать (my_test_link.getTestCasesForTestPlan (testplanid = план ['id'], назначено = 'имя пользователя', детали = 'полный'))   -  person Anubhav Singh    schedule 03.08.2017


Ответы (1)


assignedto — это необязательный параметр в функции getTestCasesForTestPlan(). Эта функция всегда возвращает все тестовые наборы, связанные с планом тестирования. Передайте имя пользователя вместо идентификатора пользователя. Он вернет все тестовые наборы. Чтобы получить тестовые примеры для конкретного пользователя, вам необходимо изменить код API (xmlrpc.class.php) в кодовой базе testlink.

person Anubhav Singh    schedule 03.08.2017
comment
Если getTestCasesForTestPlan() всегда будет возвращать все тестовые примеры для плана тестирования, то какой смысл передавать любой из необязательных параметров? - person Adamsr; 03.08.2017
comment
Я пробовал API для разных пользователей (даже если пользователь не существует), но он всегда возвращает один и тот же результат. Таким образом, единственный способ получить желаемый результат - изменить API. - person Anubhav Singh; 04.08.2017