Python: передача значения переменной в контексте экземпляра класса

Пример ниже показывает как в Python реализована передача значений между методами используя контекст экземпляра класса (т.е., когда мы порождаем переменную в выражении «c = A()», обращаясь к ней, мы обращаемся к экземпляру класса).

Как известно, в Python функции могут существовать вне класса, в этом случае в параметрах такой функции может ничего не передаваться. Однако, когда мы определяем функцию внутри класса, первым параметром идёт «self«, т.е. ссылка на контекст экземпляра класса, и такую функцию мы уже будем называть методом. Эта ссылка неявно передаётся в метод интерпретатором каждый раз когда мы вызываем метод, таким образом нам не нужно указывать это значение самостоятельно.

class A:
    list1 = []

    def method_a(self):
        self.list1 = [1, 2, 3]

    def method_b(self):
        print(self.list1)

Теперь запускаем код в интерпретаторе

   # create instance of class A() and name the instance 'c'
c = A()
   # call method_a() for instance 'c', this will set value to list1 on the instance-wide
c.method_a()
   # call mathod_b() for instance 'c', this will get value of list1 from instance
c.method_b()
>>> [1, 2, 3]
   # we can also get the value of 'list1' by calling the attribute of instance 'c'
c.list1
>>> [1, 2, 3]

Это свойство Python, как объектно-ориентированный языка, позволяет передавать значения из одного тестового метода в другой тестовый метод.

Бесплатный доступ: все курсы DataCamp и LinkedIn

Компания Microsoft в очередной раз преподнесла подарок всем любителям онлайн-курсов. Если раньше можно было получить бесплатный 3-месячный доступ к полной базе курсов Pluralsight, то теперь из аккаунта Visual Studio Dev Essentials (если его у вас ещё нет, то заведите — это бесплатно) можно активировать ваучеры на бесплатную 2-месячную подписку на DataCamp и 3-месячную подписку на LinkedIn Premium.

Активировать их можно в любое удобное время, скорее всего эта «акция» будет довольно продолжительной, вы можете активировать подписки как одновременно, так и по очереди, по мере необходимости.

Чем интересны перечисленные MOOC площадки?

  • Data Camp (обработка и анализ данных, искусственный интеллект, Python, R)
  • LinkedIn Premium (для бизнеса, технических и творческих специалистов)

Бесплатная книга: Selenium WebDriver

Хороший источник информации на русском языке по работе с Selenium WebDriver, с примерами кода на Java. Книгу на GitBooks можно смотреть онлайн (зелёная кнопка Read), а также скачать в популярных форматах (PDF/ePub/Mobi).

https://www.gitbook.com/book/kreisfahrer/selenium-webdriver/details

Case Study: JUnit4, Selenium WebDriver and Allure

I just recently made an example project which shows the abilities of automated testing using JUnit4, Selenium WebDriver and Allure.

This relatively simple project with code written on Java requires only Maven to run, it works on Internet Explorer, however you may tweek it to work on any Webdriver compatible browser (both desktop and mobile). Allure itself could be tuned to use most using automated testing framework, so not only JUnit is supported. Worth to note, you may import project with your Java IDE and use it as base for your experiments.

The source code, including project configuration pom.xml, as well as setup and usage guide are available on my GitHub space:
https://github.com/niki4/automated-testing-yandex-market-example

OWASP Top 10 2017 RC2 Final has been published

A second release candidate for the list of Most Critical types of vulnerabilities/risks for Web Apps by version of OWASP, has been published recently on their GitHub space.

There was significant changes since the previous OWASP Top 10 2013 list: some threats are not so actual these days, but another ones arose (such as XML External Entity (XXE), Insecure Deserealization, and Insufficient Logging & Monitoring).

The RC2 has Final postfix in its name meaning the document is ready to review and investigation.

Читать далее

Kali Linux 2017.2 Release

A state-of-art Linux build for all those who interested in security testing has been upgraded. For more details, including what’s new and upgrade instructions please proceed the link https://www.kali.org/news/kali-linux-2017-2-release/

Microservice Testing. Introduction.

A good intro by Nathan Peck into Understanding an architecture and quality processes within the projects for microservice apps development.

https://medium.com/@nathankpeck/microservice-testing-introduction-347d2f74095e

Another good article is a «Testing Strategies in a Microservice Architecture»:
https://martinfowler.com/articles/microservice-testing/

GUI тесты на Python: Win32 API, MS UI Automation, и немного о будущем

Один из разработчиков Pywinauto рассказывает как с помощью Python и этого фреймворка можно автоматизировать администрирование/тестирование приложений на примере Windows.

Также стоит обратить внимание на YouTube-канал Академии Яндекса «Тестирование«, там много интересных и полезных видео по теме.

Quick start with Jupyter Notebook

Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanations. In fact, it’s an interactive IDE, allowing you to share your work with anyone, collaborate and review your Python code.

It’s a web-based tool, though you can run it on your local machine (just as I do). You could check how it works by opening and running through any so called notebook (a page file with .ipynb extension, at the Jupyter Project site https://try.jupyter.org/

Running your local Jupyter instance is pretty simple. After installation, just open command line in directory were you’d like to store/open your .ipynb files and hit command:

jupyter notebook

That’s it! A browser page «http://localhost:8888/tree» will shortly pop up displaying your own Jupyter local instance and you’re ready to rock.

Jupyter is widely used in Machine Learning and Data Science areas as it has not only great UI and store your computations as if you’d have in paper notebook, but also data cleaning and transformation, numerical simulation, statistical modeling, etc.

I use it to run scikit-learn, pandas, numpy and matplotlib libraries, all great for the Data Mining/Analysis and Machine Learning tasks.

Here is also «A gallery of interesting Jupyter Notebooks«, worth to visit and check it out to see loads of the examples where Jupyter Notebook can be useful.