Похоже, что Line (1221) пытается получить доступ к объекту WebList по имени, но имя хранится в переменной; это не строковый литерал в коде.
Здесь может быть 3 разных вещи.
1) если вы пытались использовать Описательное программирование, то это похоже на то, что содержимое vstrObjectName не содержит символ «: =», который заставит QTP считать строку описанием ... Итак, QTP думает строка, хранящаяся в файле vstrObjectName, должна быть именем объекта в репозитории объектов.
Я хотел бы предположить, что вы пытались использовать дескриптивное программирование, поскольку (на основе того факта, что родительский элемент и параметр также содержатся в переменных), похоже, что вы избегаете использования каких-либо строковых литералов в этом линия.
2) Если вы пытаетесь контролировать объект с именем из хранилища объектов, то либо строка, содержащаяся в vstrObjectName не содержит действительное имя объекта (который принадлежит к objParent) или
3) объект, на который ссылается objParent, не тот, который вы ожидали.
В любом из этих случаев, если бы это было, то первое, что я хотел бы сделать, это добавить оператор печати перед строкой 1221 как: Print "vstrObjectName:« ... и запустить & vstrObjectName & «»» снова. Это должно показать строку, на которую вы ссылались. Я бы предположил, что итоговая выходная строка не такая, как вы ожидали.
Еще одна вещь, которую нужно проверить, - убедиться, что действие или функция, содержащая эту строку, выполняется из действия, содержащего этот именованный объект в его области. (т. е. откройте действие и нажмите CTRL-R, он отобразит объединенное ИЛИ, которое видно для этого действия). Если строка находится в библиотеке функций и вызывается из действия, у которого нет объекта в его локальном OR или вложенном совместно используемом OR, тогда вы получите ту же ошибку. Эту проблему очень легко вызвать, если вы используете несколько действий, а действие, содержащее вызов функции, содержащей вашу строку (строка 1221), на самом деле не имеет этого объекта, доступного для него из-за его области OR.
Чтобы ответить на заданный вами вопрос - как добавить объект в OR - вы можете использовать несколько методов - запись, добавление кнопки «guispy» к кнопке «ИЛИ», добавление вручную с экрана «ИЛИ» и т. Д.), Но, в конце концов, вы нужно, чтобы этот объект в OR имел имя, которое соответствует тому, что находится в vstrObjectName.
Добро пожаловать в переполнение стека. Пожалуйста, помогите нам ответить на ваш вопрос, предоставив дополнительную информацию: какой скрипт вы используете? Какие результаты вы ожидаете. Это помогает обеспечить больше кода, который влияет на ошибку. Для получения полезных советов по заданию вопросов перейдите по адресу http://stackoverflow.com/help/on-topic – ralphearle