Size: a a a

2021 March 10

ВШ

Вадим Шевчук... in atinfo chat
тебя никто не заставляет... делай в методе, где хочешь, только не сразу в поле
источник

A

Alex in atinfo chat
Евгений Горбоконенко
Вы в конструкторе его только прокидываете, сюда уже должен прийти созданный экземпляр. Смотреть нужно так, где вы создаёте уже экземпляр MainPage.
А вообще посмотрите в сторону Selenide, она такую фигню за вас всякую разруливает
Можно ещё один глупый вопрос?
Что значит прокидываете, т.е. зачем мы вообще используем конструктор, а не явно инициализируем?
В нете не нашёл...даже индусов слушал :)
источник

RS

Ruslan So1o in atinfo chat
Парни здорова! Кто делал деплой allure report в teamcity? Сложнее чем Гитлаб? Это делается через Report tabs в настройках проекта так?
источник

MS

Maks Stn in atinfo chat
Alex
Можно ещё один глупый вопрос?
Что значит прокидываете, т.е. зачем мы вообще используем конструктор, а не явно инициализируем?
В нете не нашёл...даже индусов слушал :)
Чтобы передать твоему классу сущность вебдрайвера, с помощью которой он будет инициализировать элементы страницы которые ты объявляешь внутри этого класса
источник

А

Андрей in atinfo chat
товарищи, кто с python requests дружит, подскажите, пожалуйста, делаю 2 теста
1. Получение информации. Условно get_info
2. Обновление информации. update_info + get_info
Предполагаю, что get_info во втором случае вернет информацию, но он возвращает response из первого, по сути даже не делая запроса. Понимаю где проблема, не понимаю как она решается..
источник

RS

Ruslan So1o in atinfo chat
Андрей
товарищи, кто с python requests дружит, подскажите, пожалуйста, делаю 2 теста
1. Получение информации. Условно get_info
2. Обновление информации. update_info + get_info
Предполагаю, что get_info во втором случае вернет информацию, но он возвращает response из первого, по сути даже не делая запроса. Понимаю где проблема, не понимаю как она решается..
код можно увидеть запросов
источник

RS

Ruslan So1o in atinfo chat
Андрей
товарищи, кто с python requests дружит, подскажите, пожалуйста, делаю 2 теста
1. Получение информации. Условно get_info
2. Обновление информации. update_info + get_info
Предполагаю, что get_info во втором случае вернет информацию, но он возвращает response из первого, по сути даже не делая запроса. Понимаю где проблема, не понимаю как она решается..
обложи запросы принтами и посмотри где проблема
источник

А

Андрей in atinfo chat
обложил. Увидел. Написал сюда. Сейчас код выкачу )
источник

А

Андрей in atinfo chat
попытался сохранить всю логику, оставил все что могу..
объект
id: 1
name: name


class Api:
   def init(self):
       само собой тут не пусто.. )

   def getid(self, id=None):
       #ищет по id
       url = self.__baseUrl + inspect.stack()[0][3]
       data['id'] = id
       return requests.post(url=url, headers=self.headers, data=data)

   def updateid(self, id=None, name=None):
       url = self.__baseUrl + inspect.stack()[0][3]
       data['id] = id
       data['name'] = name
       return requests.post(url=url, headers=self.headers, data=data)

------------------
   def test_get(self, api):
       result = api.getid(id='1').json()
 # возвращает объект name: name

   def test_update(self, api):
       result_update = api.updateid(id='1', name='change') # изменяет объект (приходит корректный респонс)
       result_get = api.api.getid(id='1').json() # возвращет объект name: name, как при первом тест (есть подозрения что просто ссылается на обхект запроса, а не делает его заново)
источник

RS

Ruslan So1o in atinfo chat
Андрей
попытался сохранить всю логику, оставил все что могу..
объект
id: 1
name: name


class Api:
   def init(self):
       само собой тут не пусто.. )

   def getid(self, id=None):
       #ищет по id
       url = self.__baseUrl + inspect.stack()[0][3]
       data['id'] = id
       return requests.post(url=url, headers=self.headers, data=data)

   def updateid(self, id=None, name=None):
       url = self.__baseUrl + inspect.stack()[0][3]
       data['id] = id
       data['name'] = name
       return requests.post(url=url, headers=self.headers, data=data)

------------------
   def test_get(self, api):
       result = api.getid(id='1').json()
 # возвращает объект name: name

   def test_update(self, api):
       result_update = api.updateid(id='1', name='change') # изменяет объект (приходит корректный респонс)
       result_get = api.api.getid(id='1').json() # возвращет объект name: name, как при первом тест (есть подозрения что просто ссылается на обхект запроса, а не делает его заново)
у тебя тестовые функции не внутри API класса так?
источник

RS

Ruslan So1o in atinfo chat
api - fixture?
источник

А

Андрей in atinfo chat
Так точно
источник

RS

Ruslan So1o in atinfo chat
result_get = api.api.getid(id='1').json() #  тут точно 2 раза api или ты тут опечатался?
источник

А

Андрей in atinfo chat
Ruslan So1o
result_get = api.api.getid(id='1').json() #  тут точно 2 раза api или ты тут опечатался?
убрал опечатку. Писал прямо тут, не увидел...
источник

RS

Ruslan So1o in atinfo chat
Сложно сказать, поставь fiddler и посмотри какие запросы уходят с твоего хоста 🤷‍♂️
источник

RS

Ruslan So1o in atinfo chat
data = {'id': id}
       data = {'name': name}
источник

RS

Ruslan So1o in atinfo chat
тут ты сначала один словарь а затем второй добавляешь в переменную?
источник

А

Андрей in atinfo chat
пфпфпф.. еще скрипку ставить... никогда этого не делал.. Ладно,  я тоже думаю что без этого никуда, но надеялся что ответ где то в ссылках на объект Response, когда второй тест не делает запрос, а отдает уже созданный объект вместо этого
источник

А

Андрей in atinfo chat
это работает корректно. Это особенность работы со словарями. dict[key] = value или обновляет значение key, если оно было, или создает его, если такого не было
источник

А

Андрей in atinfo chat
я же не словарб добавляю в словарь, а сначала один объект, потом второй объект
источник