Python for testers

Как параметризировать docstrings в Python?

Written by Михаил Поляруш on . Posted in Автоматизация, Работаю, Разработка

Зачастую автоматизаторы сталкиваются с проблемой вывода в логи нужной информации. Ко мне обратилась коллега с вопросом параметризации docstrings в python. Хочу просто подвести пунктиками, что можно, а что нельзя делать с docstrings.

  • Вы можете указывать docstrings для модуля, класса, функции, метода
  • Все описания docstrings идут сразу же после определения какой-то сущности, т.е. сразу после класса, функции и т.д.
  • docstrings не могут быть параметризированны
  • docstrings это только строка и не более того

Для того, чтобы вам продемонстрировать, как работает python docstrings посмотрите на этот код:

"""module docstring"""
import unittest

def function():
	"""function docstring"""
	pass

class LoginTestCase(unittest.TestCase):
	"""class docstring"""

	def testLogin(self):
		"""method docstring"""
		pass

if __name__ == "__main__":
	print __doc__
	print function.__doc__
	print LoginTestCase.testLogin.__doc__
	print LoginTestCase.__doc__

Но все же, если вам например, нужно в docstrings что-то заменить, то вы наверное захотите сделать это так.

"""module docstring %s """ % myvariable

К сожалению, так работать код у вас не будет и когда вы будете обращаться к docstrings, то объект будет с типом None. И все же как туда вставить нужные данные для того, чтобы использовать docstrings в своих нуждах? Просто надо работать с строкой docstrings и все. Пример, вам нужно использовать docstrings метода для вывода чего-то там в лог. Как вы это можете сделать?

"""module docstring"""
variable = "some string"
import unittest

def function():
	"""function docstring"""
	pass

class LoginTestCase(unittest.TestCase):
	"""class docstring"""
	def testLogin(self):
		"""method docstring %%replace%%"""
		print LoginTestCase.testLogin.__doc__.replace(r"%%replace%%", variable)
		pass

if __name__ == "__main__":
    import unittest
    unittest.main()

Т.е. вы указываете какую-то любую строку в docstrings, а потом ее заменяете на то что вам нужно в момент выполнения программы. Это конечно неидеальное решение потому как есть ряд побочных эффектов, но если вам действительно это необходимо, то можете пользоваться :)

Удачи и хорошего python программирования!

Визит Донецка и его впечатления

Written by Михаил Поляруш on . Posted in Tестирование, Работаю, Разработка

Эти выходные мне довелось провести в Донецке. Не буду скрывать, что один из моих текущих контрактов по выполнению внедрения автоматизации на Robot Framework находится именно там. Мне предстояло провести обучающий тренинг по Robot Framework.

Моя поездка началась еще дома. Интересно, да? Но мы же семимильными шагами движемся к Европе, поэтому ничего удивительного :)

Что бы  не говорили о ЕВРО 2012, но все-таки некоторые плюсы уже налицо. Через официальный сайт http://booking.uz.gov.ua можно покупать билеты онлайн без всяких проблем. Это был уже 6й купленный мною билет через http://booking.uz.gov.ua , и пока что никаких проблем. Конечно, вам все равно придется поменять  код, который вы получите по email, на реальный билет в кассе ЖД вокзала. Я надеюсь, и этого шага скоро можно будет избежать.

Донецк

Донецк

Эта поездка знаменательна тем, что была возможность попробовать новые поезда Hundai, которые уже курсируют между большими городами Украины. По приезду этот поезд существенно отличается от всех, которые стоят на перрронах ЖД вокзала – новый, красивый и привлекающий внимание. Внутри все чисто и ухожено, правда, в некоторых вагонах кондиционеры не работают. Ну не может быть все и сразу у нас идеально. К интернету внутри вагона мне также не удалось подключиться. Честно, пытался раз 10. Все остальное в отличном состоянии, по телевизору крутили развлекательные программы об Украине и мультики. Все было достойно, кроме того, что в стоимость недешевого билета в 600 грн не входит ланч-бокс за 40 грн (странно, мне уже кажется, можно было его включить в стоимость цены билета). Все интересное только начинается …

Встреча управляющих людьми в ИТ компаниях – 22 июня!

Written by Михаил Поляруш on . Posted in Работаю, Разработка

Клуб управляющих ЛЮДЬМИ в IT компаниях. Эта встреча вся про взаимодействие. Спикерами будут Сергей Бережной, Инна Кравченко и Катерина Синдякова (тандем).

1 тема: «Код менеджера»
Спикер: Сергей Бережной – руководитель проектов, эксперт по работе с Заказчиками в ИТ проектах. Program Manger в аутсорсинговой компании (с командой в 50+ человек). Больше 150 слушателей открытых и корпоративных тренингов «Аутсорсинг как сервис». Активный участник конференций (Software People, PM Labs, SEF и др.), на которых рассказываю об организации эффективной работы с Заказчиками. Автор блога http://anotherpm.com, который посвящен темам взаимодействий Заказчиков и Исполнителей в аутсорсинге.

2 тема: “Зачем айтишнику нетворкинг – почти то же, что про “козу и баян”"
Спикер: Катерина Синдякова – CEO компании 2accomplish, предприниматель в области IT, автор и модератор тренингов Имидж и безопасность в соцсетях, Грамотный networking, Как убедить собеседника за 30 секунд, а также совладелица бизнес-клуба Kiev Business Hunters Club.

Время встречи: с 19.00-21.00, после 21.00 – как пойдет :) – общение, обсуждение, пицца, пиво.

Детали  и регистрация тут: http://hr-maverick.blogspot.com/2011/06/22.html

Scrum и Kanban [Заметка]

Written by Михаил Поляруш on . Posted in Tестирование, Работаю, Разработка

тонким различием между канбан и типичным гибким процессом является Scrum. Scrum фокусируется на гибкости, которая должна приводить (и приводит) к улучшениям. Канбан фокусируется на улучшениях, которые могут привести к гибкости. Несмотря на это, быть гибким не так важно – это становится лучшим путем которым мы (по-крайней мере я) знаю к этому моменту

Мой любимый разговор в ITCrowd

Written by Михаил Поляруш on . Posted in Обыденное, Работаю, Разработка

IT Crowd

IT Crowd

- I’m gonna put you in I.T. Because you said on your CV you had a lot of experience with computers.
- I did say that on my CV yes. I have lots of experience with the whole… computer… thing you know, e-mails… sending e-mails, receiving e-mails, deleting e-mails… – … I could go on.
- Do! The Web… Using mouse… mices… using mice. Clicking… double clicking… the computer screen of course, the keyboard… the…bit that goes on the floor down there…
- The hard drive?
- Correct.
- Well, you certainly seem to know your stuff.

Twitter лента

autotestinfo

Как продолжить тест при случайном появлении попапа? http://t.co/tGqX8PjPzD

mpoliarush

http://t.co/9879JVgl21 automates tests written with QUnit, Jasmine, Mocha with Expect.js assertions, Dojo Objective Harness, or YUI Test.