Study/Python15 Python으로 API 테스트 가능한 라이브러리 비교 (Requests vs Httpx) Python으로 API를 테스트하거나 사용하는데 크게 2가지 라이브러리를 사용할 수 있을 것입니다.Requests 와 Httpx 가 바로 그것인데요 어떤 차이점이 있고 각각의 장단점은 무엇인지 알아보도록 하겠습니다.** 해당 포스팅은 개인의 궁금증으로 시작하여 ChatGPT가 알려준 답변을 기준으로 작성되어있습니다. 일단 어떤 차이점이 있는지 확인해보겠습니다. RequestsHttpx비동기 지원동기 요청만 지원합니다. 따라서 요청을 보낸 후 응답이 올 때까지 기다려야 하며, 이로 인해 병렬 요청에 제약이 있습니다.비동기 방식 (async/await)과 동기 방식 모두를 지원합니다. 이를 통해 비동기 프로그래밍을 수행하여 I/O 병목을 줄이고 요청을 병렬로 처리할 수 있습니다.HTTP/2 및 HTTP/1... 2024. 10. 30. Python에서 Appium 테스트 코드 재시도 로직 Playwright에는 실패시 해당 코드를 재시도할 수 있는 설정이 자체적으로 있다고 합니다. const config = { retries: 2 , // 이렇게 하면 실패한 케이스를 2번 다시 시도합니다 }; E2E 테스트가 수행되는 시나리오는 '수행' 이 목적이지 '성공' 이 목적이 아니기 때문에 재시도 로직이 필요없었지만각 화면별 로딩 시간을 측정하는 자동화 코드는 '성공' 이 목적이기 때문에 성공할 때 까지 재시도를 해야 하는 상황이였습니다.오호 이거 Appium에 적용하면 좋겠군!! 그런데 돌아온 답변은 import timefrom appium import webdriverfrom selenium.common.exceptions import WebDriverException# 재시도 로직.. 2024. 10. 3. sys.argv 로 명령줄 인수 사용하기 jenkins와 python을 사용할 때는 jenkins의 파라미터를 os.environ 으로 받아서 사용했었는데요 python에서 명령줄을 사용해서 별도의 매개변수를 사용하는 방법은 뭐가 있는지 찾아보다 sys.argv 란 것이 있어서 최근 사용하고있습니다. 사용하기 위해서는 sys을 import 해주시구요 import sys 파일명 실행 뒤 사용하기 위해서 (unittest 실행할때는 아직 확인하지 못했네요) if __name__ == "__main__": 구문에 넣어줍니다. 그리고 이렇게 인자 3개의 값을 출력하는 코드를 작성해놓고 import sys def main(): print("스크립트 이름:", sys.argv[0]) print("첫 번째 인수:", sys.argv[1]) print("두 .. 2023. 9. 27. technology ebooks. 다양한 언어와 기술 전자책이 있는 웹사이트 공유 LinkedIn에서 Python Developers Community를 팔로우 하고 있는데 여기서 도움이 될만한 포스팅이 올라와서 저도 공유할 겸 가져와봤습니다. 다양한 언어와 기술과 관련된 전자책이 모여있는 곳인데요 Python관련 전자책을 다운받아 보니 800 페이지가 넘네요. Stack Overflow의 유저들이 작성했다고 하니 어느정도는 믿음이 갑니다! LinkedIn 페이지 https://www.linkedin.com/feed/update/urn:li:activity:7064601588597682176?utm_source=share&utm_medium=member_android 회원가입 | LinkedIn 5억 명 회원들이 함께 하는 글로벌 비즈니스 세상 비즈니스 인맥을 쌓고 넓히세요. 커리어 .. 2023. 5. 19. Slack files.upload로 이미지 전송하기 이번에는 파일 업로드를 해보겠습니다. 파일 업로드는 chat.postMessage API를 사용하지 않고 별도의 API를 사용합니다. 이번에도 헤더 부분 정의가 필요합니다. Content-type이 application/json 이 아닙니다! header = {'Content-type': 'application/x-www-form-urlencoded; charset=utf-8', 'Authorization': {slack 토큰}} data로 보낼 attachments를 지정해줍니다. 이미지를 먼저 객체화 합니다. with open({전송 이미지 경로}, 'rb') as f: content = f.read() 그리고 이미지 데이터인 content를 data에 넣어줍니다. attachments = { "ch.. 2022. 3. 9. Slack Block Kit 을 사용한 메시지 전송 Slack은 정말 많은 곳에서 사용하고 있는 커뮤니케이션 도구 중에 하나이죠. 저도 여태까지 다녔던 회사중에 슬랙을 사용하지 않았던 곳은 한 곳 빼고 없었던 것 같습니다. 이렇게 많이 사용하고 있는 슬랙에서 메시지를 전송할 때 어떻게 하는지 알아보도록 하겠습니다. 슬랙에서는 여러 API를 제공하고 있는데요. 물론 메시지 전송과 관련된 API도 제공해주고 있습니다. python코드에서 slack 모듈을 사용해서 보낼수도 있지만, 저는 HTTP 방식으로 사용하도록 하겠습니다. 그래서 requests가 필요하죠. import requests 그리고 채널 ID와 슬랙 토큰이 있으면 전송이 가능합니다. 일단 헤더 부터 정의해줍니다. charset이 없을 경우 전송이 되지 않으니 꼭 넣어주세요 header = {'.. 2022. 3. 9. 이전 1 2 3 다음