Перейти к содержимому

Фотография

Как делать вызовы API через Selenium IDE


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Giraffe

Giraffe

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Добрынина Анна

Отправлено 05 мая 2011 - 09:36

Подскажите, можно ли (и как) с помощью Selenium IDE делать вызов API функций?
  • 0

#2 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 05 мая 2011 - 11:21

Какие функции конкретно? API чего? Если имеется ввиду API SeleniumCore, то можно через verifyEval или runScript, например.
  • 0

#3 Giraffe

Giraffe

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Добрынина Анна

Отправлено 05 мая 2011 - 11:32

Нет. Извините что я так непонятно выразилась.

У нас на сайте есть собственное API, и пользователя сайта могут обращаться к нашему API и что-то делать.

Хотелось бы автоматизировать тестирование этих API-методов.
  • 0

#4 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 05 мая 2011 - 12:13

Понятнее тем не менее не стало :) Что за API? JavaScript API? Как его пользователи сайта дёргают?
  • 0

#5 Giraffe

Giraffe

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Добрынина Анна

Отправлено 06 мая 2011 - 02:10

Например так

http://api_key:api_pass@aviberry.com/api/v1.1/protocol/method?param=value

где
api_key и api_pass - ключ и пароль для идентификации пользователя, вызывающего API (обязательные поля);
protocol - используемый протокол обмена: "json" или "xml";
method - имя метода для вызова;
param и value - имя и значение передаваемого методу параметра.
  • 0

#6 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 06 мая 2011 - 08:00

Вот теперь всё понятно. У вас используется Basic HTTP Authentication с логином api_key и паролем api_pass, параметры передаются стандартно через query string. В принципе никаких непреодолимых проблем здесь быть не должно, есть только особенности:
1. В IE для того, чтобы можно было так аутентифицироваться придётся подкрутить настройки безопасности. Точно уже не помню какие.
2. Обратно вам приходит JSON или XML, чтобы получить содержимое придётся немного поизвращаться, например, получить XML можно примерно так:
if (document instanceof XMLDocument) {
        return new XMLSerializer().serializeToString(document);
    } else {
        return getText(document.body);
    }

Но мне кажется, что для полноценного тестирования данного API вам не нужен Selenium, а тем более Selenium IDE, вам нужно уметь делать HTTP-запросы, получать ответы и парсить XML с JSON, в зависимости от используемого языка программирования надо просто подобрать соответствующие библиотеки.
  • 0

#7 Giraffe

Giraffe

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Добрынина Анна

Отправлено 06 мая 2011 - 12:26

ооо...
спасибо!
попробую разобраться
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных