Python for testers

Posts Tagged ‘ИТ’

Как параметризировать 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 программирования!

Вебинар по автоматизации на Sikuli

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

Не так давно я организовывал и проводил онлайн-конференцию по автоматизации тестирования ПО. Мой доклад о Sikuli был по достоинству оценен зрителями и я занял первое место среди 10 выступающих.  После конференции мне начали задавать много вопросов, на которые я не смог ответить во время самого вебинара.

Я считаю, что эти знания были бы полезны для всех специалистов, которые занимаются автоматизацией. Поэтому я решил провести вебинар на тему
“Как начать автоматизацию на Sikuli?” Это будет 6-й вебинар из серии вебинаров по автоматизации.  Должен заметить, что 30000 просмотров моих предыдущих вебинаров меня вдохновляют.

Регистрация на вебинар уже открыта

IT Jam и сообщество автоматизаторов тестирования ПО

Written by Михаил Поляруш on . Posted in Работаю, Тренинги

Сообщество автоматизаторов тестирования ПО http://automated-testing.info будет представлено на IT Jam http://it-jam.ciklum.net/. Специально для этого мероприятия был подготовлен промо ролик, которым хочу с вами поделиться.

Как быстро летит время! Вроде бы только недавно начал делать встречи, а уже на носу 19я встреча!

Тренинг по WebDriver в Киеве

Written by Михаил Поляруш on . Posted in Работаю, Тренинги

Суббота и воскресенье – это отличные дни не только для отдыха, но и для учебы. 12 человек собрались силами и провели это время на благо себя и своего развития. 18-19 августа 2012 я проводил очередной тренинг по Selenium WebDriver.

Мне очень нравится, что такие инструменты, как Selenium WebDriver становятся очень популярными среди многих компаний. Это определенный показатель успешности и конкурентоспособности инструмента, который очень хорошо справляется с задачей – автоматизации веб приложений.

Два дня интенсивной работы и умственной активности на единицу времени и пространства зашкаливало. По последним комментариям я вижу, что тренинг удался на славу!  Как хорошо,  что собрались люди из разных проектов и компаний. Разный опыт, процессы и потребности позволяют понять широту нашего рынка. И все же, насколько проекты могут быть разными! И это хорошо, значит надо развивать и двигать автоматизацию тестирования дальше, покоряя новые горизонты и трудности.

Сразу несколько человек захотело поучаствовать в других моих тренингах, на которые я приглашаю и вас. А всем участникам хочется сказать – Вы большие молодцы. Пусть ваше желание автоматизировать четко материализуется в результаты для Вашего проекта. Моя помощь гарантирована!

Кстати, я уже набираю группу на следующий тренинг. Я внес некоторые коррективы в тренинг для того, чтобы участники проходили небольшую самостоятельную мини подготовку перед тренингом. Тогда информация и поток практики еще более гладко будет ложиться в головы тестировщиков и автоматизаторов. Также я понял, что буду больше делать упор на объяснение базы по программированию на Java (может быть, сделаю отдельный курс или тренинг по этому поводу, посмотрим).

Следующие тренинги не за горами. Я уже вижу, что практически набралась вторая группа на онлайн курс по python для тестировщиков, группа на онлайн тренинг по selenium webdriver на python, а также по управлению автоматизации тестирования. Следите за новостями и твиттером!

Всего Вам хорошего и успешной автоматизации.

З.Ы. Кто спрашивал:

Минск, тренинги и впечатления!

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

Что приходит на ум, когда слышишь такие слова: газовая плита, трактор, мясо, молоко? Конечно же, Минск и Беларусь! Минск вроде бы близко, но мне как-то не удавалось туда попасть. Настойчивые автоматизаторы из Беларусии все-таки вытащили меня. И я очень рад, потому что мне представилась возможность познакомиться с новыми людьми и узнать эту страну не из картинок и слухов, а наяву. Конечно, это будет только Минск, но это лишь первый шаг, я надеюсь.

Минск

Минск

Спокойным темпом в пятницу я добрался на железнодорожный вокзал. Подходя к вагону, который едет на Минск, я заметил разницу. Проводники и проводницы – это девушки до 30 лет, а в моем вагоне с формами 90-60-90 и на каблуках с тонкой шпилькой в 5-7 сантиметров. Я очень удивился, потому что у меня уже сложившийся стереотип, что проводник – это женщина или мужчина 35-50 лет, которые не просто тебе улыбается, но и может тебе нахамить. Тут же было не так, поэтому  я и удивился. Второй сюрприз ожидал уже меня в вагоне. Кроме отличного и чистого поезда, у них еще и входит в стоимость еда, которую они могут тебе приготовить на ужин или завтрак или выдать сухим пайком (соседу в купе принесли, выглядит аппетитно). На табличке возле купе было написано: «в бесплатные сервисы входит: … предоставление настольных игр, …», на что мне проводница ответила, у нас есть шашки и шахматы, что вы хотите? :)

По приезду меня встретил знакомый и довез меня к месту тренинга и дал белорусских рублей. Инфляция, конечно, у них серьезная, уже не помню, когда держал деньги в руках  с пятью нулями на банкноте. Хотя, бесспорно, приятно было почувствовать себя миллионеромJ Но считать, кстати, было просто, потому что курс гривна: доллар, где-то 1:1000. Добирались к месту тренинга на метро. Метро сразу меня удивило – это мега чистое метро и абсолютное минимальное количество рекламы, которая была на станциях метро.

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.