Size: a a a

testing_in_python

2020 August 14

BK

Boris Krutskih in testing_in_python
Idi Suda
переопредели request метод, он дергается, когда юзаешь всё остальное - геты, посты, патчи, делейты и тп
class ApiClient:
   def __init__(self, base_url):
       self.base_url = base_url

   def request(self, method, url, **kwargs):
       url = f'{self.base_url}{url}'
       response = requests.request(method, url, **kwargs)

       return response

ну да вот так норм отрабатывает
источник

IS

Idi Suda in testing_in_python
Boris Krutskih
class ApiClient:
   def __init__(self, base_url):
       self.base_url = base_url

   def request(self, method, url, **kwargs):
       url = f'{self.base_url}{url}'
       response = requests.request(method, url, **kwargs)

       return response

ну да вот так норм отрабатывает
Закинь туда сразу аттач от аллюра, чтобы не писать 500 раз одно и то же в тестах. Типа встроенный аттач что был
источник

BK

Boris Krutskih in testing_in_python
Idi Suda
Закинь туда сразу аттач от аллюра, чтобы не писать 500 раз одно и то же в тестах. Типа встроенный аттач что был
Да, я понял. Уже так и сделал) спс за хелп
источник

BK

Boris Krutskih in testing_in_python
Сказочный Сникерс
ну это же чистая копипаста
ну в закрепе стянул)))
https://habr.com/ru/post/513432/
источник
2020 August 15

B

Bola in testing_in_python
Наткнулся на либу https://pypi.org/project/pyleniumio/
Кто пользовался? Какие впечатления?
источник

g

gigimon in testing_in_python
Обертка селениума есть selene, а главной фичи сайпресса в виде его крутого ui тут вроде нет
источник

B

Bola in testing_in_python
Не селене одним же жить).
источник

ТЭ

Тачами Экстович... in testing_in_python
Да, зачем вам эти обертки-однодневки? Столкнетесь с каким-нибудь багом там, придется все переписывать самому
источник

B

Bola in testing_in_python
Лучше своя милая родная обертка))).
источник
2020 August 17

YP

Yauheni Po in testing_in_python
всем привет. подскажите плиз как в pycharm запустить в дебаге тест написанный на robot frm??? не получается настроить так
источник

V

Vyacheslav in testing_in_python
у робота есть своя дебаг либа
источник

YP

Yauheni Po in testing_in_python
опа! т.е. через копать только в сторону этой либы и иначе через External Tools не сделать?
я не про брекпоинты в роботе, а в кейвордах-методах на питоне
источник

YP

Yauheni Po in testing_in_python
я нахожу инфу про настройку External Tools и там указать -L debug, тест запускается, но не стопается на брекпоинте в коде(
источник

YP

Yauheni Po in testing_in_python
это срабатывает у кого-либо?
источник

BK

Boris Krutskih in testing_in_python
Привет, не считается ли такой год горождением костылей?)))
@feature('Create action item with report')
   def test_post_create_action_item_with_report_amd(self, api_v2):
       payload = {
           'user_id': AMD_USER_ID,
           'title': f'Auto test title #{self.r}',
           'urgency': 2,
           'description': f'Auto test description #{self.r}',
           'installation_point_id': INST_POINT_AMD_ID,
           'sensor_id': SENSOR_ID
       }
       res = api_v2.request(
           method='post',
           url=endpoints.WATCH_LIST + f'create{ACCESS_TOKEN_AMD}',
           json=payload
       )

       try:
           with open('action_item_id.txt', 'w') as outfile:
               outfile.write(res.json()['model']['id'])
           outfile.close()
       except KeyError:
           with open('action_item_id.txt', 'w') as outfile:
               outfile.write(res.json()['active_action_item']['id'])
           outfile.close()

       display_pretty_res(res)

       assert res.status_code == 200
       assert 'error' not in res.text

конкретно за блок кода который в try находится
источник

IS

Idi Suda in testing_in_python
во первых с with тебе файл закрывать не надо. Почитай про контекстные менеджеры с файлами. Во вторызх, можно убрать try: except KeyError, заменив на dict.get(<твой ключ>, <дефолтное значение>)
источник

IS

Idi Suda in testing_in_python
Если там есть вложенность, просто делай dict.get(<первый ключ>, {}).get(<второй ключ>, {}).get... ну ты понял
источник

BK

Boris Krutskih in testing_in_python
Idi Suda
Если там есть вложенность, просто делай dict.get(<первый ключ>, {}).get(<второй ключ>, {}).get... ну ты понял
спс ща попробую
источник

S

Sergei in testing_in_python
Boris Krutskih
Привет, не считается ли такой год горождением костылей?)))
@feature('Create action item with report')
   def test_post_create_action_item_with_report_amd(self, api_v2):
       payload = {
           'user_id': AMD_USER_ID,
           'title': f'Auto test title #{self.r}',
           'urgency': 2,
           'description': f'Auto test description #{self.r}',
           'installation_point_id': INST_POINT_AMD_ID,
           'sensor_id': SENSOR_ID
       }
       res = api_v2.request(
           method='post',
           url=endpoints.WATCH_LIST + f'create{ACCESS_TOKEN_AMD}',
           json=payload
       )

       try:
           with open('action_item_id.txt', 'w') as outfile:
               outfile.write(res.json()['model']['id'])
           outfile.close()
       except KeyError:
           with open('action_item_id.txt', 'w') as outfile:
               outfile.write(res.json()['active_action_item']['id'])
           outfile.close()

       display_pretty_res(res)

       assert res.status_code == 200
       assert 'error' not in res.text

конкретно за блок кода который в try находится
вместо:
try:
   with open('action_item_id.txt', 'w') as outfile:
       outfile.write(res.json()['model']['id'])
   outfile.close()
except KeyError:
   with open('action_item_id.txt', 'w') as outfile:
       outfile.write(res.json()['active_action_item']['id'])
   outfile.close()
можно:
data = res.json()
content = (data.get('model') or data.get('active_action_item'))['id']
with open('action_item_id.txt', 'w') as outfile:
   outfile.write(content)
источник

BK

Boris Krutskih in testing_in_python
Sergei
вместо:
try:
   with open('action_item_id.txt', 'w') as outfile:
       outfile.write(res.json()['model']['id'])
   outfile.close()
except KeyError:
   with open('action_item_id.txt', 'w') as outfile:
       outfile.write(res.json()['active_action_item']['id'])
   outfile.close()
можно:
data = res.json()
content = (data.get('model') or data.get('active_action_item'))['id']
with open('action_item_id.txt', 'w') as outfile:
   outfile.write(content)
Спс, работает отлично
источник