Как настроить аутентификацию oauth 1.0 с каратэ для твиттера? - PullRequest
1 голос
/ 31 октября 2019

Я использую каратэ для автоматизации, и мне нужно использовать аутентификацию oauth 1.0, которая имеет 4 поля: token, tokensecret, consumerkey и consumersecret. Я не мог сделать это с каратэ. Не могли бы вы помочь мне в этом вопросе?

Я пытался реализовать что-то, используя параметры заголовка конфигурации, однако это не удалось. У меня нет опыта в каратэ, я не мог попробовать что-либо еще.

Вот так я заставил его работать с уверенностью. Я хочу реализовать ту же логику с каратэ. Ниже приведен код для обеспечения уверенности:

'' 'Ответный ответ = данный (). Auth (). Oauth (consumerKey, consumerSecret, token, tokenSceret). queryParam ("screen_name", "realDonaldTrump"). queryParam ("count", 1). когда (). получить ( "/ user_timeline.json"). затем () экстракт () ответ ()..;'' '

1 Ответ

0 голосов
/ 31 октября 2019

Пожалуйста, ознакомьтесь с примерами: https://github.com/intuit/karate/tree/master/karate-demo

И посмотрите на пример OAuth1 .

Для этого требуется Java Interop: https://github.com/intuit/karate#calling-java

Так что, если вы не готовы написать один класс Java и использовать его из каратэ, вы можете выбрать другой каркас.

И вам также нужно обратиться к API Twitterесли необходимо: https://developer.twitter.com/en/docs/basics/authentication/guides/creating-a-signature

Это не встроено в каратэ, так как оно может быть очень конкретным. Пожалуйста, при необходимости помогите кому-нибудь, кто знает Java и т. Д., Всего наилучшего.

* def Signer = Java.type('com.myco.Signer')    
* def params =
"""
{ 
  'userId': '399645532', 
  'os':'android', 
  'client_key': '3c2cd3f3',
  'token': '141a649988c946ae9b5356049c316c5d-838424771',
  'token_client_salt': 'd340a54c43d5642e21289f7ede858995'
}
"""
* Signer.sign('382700b563f4', params)
* path 'echo'
* form fields params
* method post
* status 200
...