Что такое unittest в Selenium Python?

Что означают строки 3,16,17,18 и 19, выделенные *. Может кто-нибудь объяснить, что они делают? Я новичок в Python и программировании

import unittest

from selenium import webdriver

**class Iframe(unittest.TestCase):**

def setUp(self):
    self.driver = webdriver.Firefox()

def test_Iframe(self):
    driver = self.driver
    driver.maximize_window()
    driver.get('http://www.toolsqa.com/iframe-practice-page/')

    iframe1 = driver.find_element_by_id('IF1')
    driver.switch_to.frame(iframe1)

    driver.find_element_by_name('email').send_keys('xyz')

    driver.switch_to.default_content()

    list = driver.find_elements_by_tag_name('iframe')

    print(len(list))

**def tearDown(self):
    self.driver.quit()**


**if __name__ == '__main__':
   unittest.main()**
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
1 353
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Только три строки в этом коде выделены *, но вот что они означают:

Первая строка:

 class Iframe(unittest.TestCase):

Это объявляет класс для следующих функций (test_Iframe и срывать). класс используется для создания «объектов» в объектно-ориентированное программирование. Думайте о класс как об абстракции данных / процедур, а объект - это конкретный экземпляр класса.

Следующая строка:

def tearDown(self):
self.driver.quit()

В этом разделе сначала объявляется функция с ключевым словом def, и функция завершает работу драйвера, который был установлен как:

driver = self.driver
driver.maximize_window()
driver.get('http://www.toolsqa.com/iframe-practice-page/')

в функции test_Iframe().

Заключительная строка:

if __name__ == '__main__':
unittest.main()

Этот раздел просто выполняет основную функцию программы. Подробнее об этом можно прочитать в здесь.

Позвольте мне знать, если у вас есть какие-либо другие вопросы!

Поскольку вы решили использовать Python модульный тест, вот соответствующая информация:

  • import unittest: Вам необходимо импортировать требуемый модуль модульный тест в качестве обязательной меры.
  • class Iframe(unittest.TestCase):: класс тестового примера унаследован от unittest.TestCase. Наследование от класса Прецедент - это способ сообщить модулю модульный тест, что это тестовый пример.
  • def setUp(self):: настраивать является частью инициализации, и этот метод будет вызываться перед каждой тестовой функцией, которую вы собираетесь написать в этом классе тестового примера.
  • def test_Iframe(self):: это фактический метод прецедент. Метод прецедент всегда должен начинаться с символов контрольная работа.
  • def tearDown(self):: метод срывать будет вызываться после каждого метода тестирования. Это метод для выполнения всех действий по очистке.
  • if __name__ == '__main__':: Эта строка устанавливает для переменной __name__ значение "__main__". Если этот файл импортируется из другого модуля, __name__ будет установлен на имя другого модуля. Вы найдете подробное обсуждение в Что делать, если название == "основной": делать?
  • unittest.main(): вызывает тестовые функции из настроенного модуля.

Note A: For more details see Using Selenium to write tests and Walk through of the example


Note B: Refer A module's name for complete details.


Почему я

Первый аргумент каждого метода класса, включая init, всегда является ссылкой на текущий экземпляр класс. По соглашению этот аргумент всегда называется self. В методе initself относится к вновь созданному объекту, а в методах других классов - к экземпляру, метод которого был вызван.


Мелочи

Самостоятельная переменная в Python объяснила

Привет Дебанджан! Почему мы здесь используем себя?

Aayush 30.03.2018 05:38

@Aayush Ознакомьтесь с моим обновлением ответов и дайте мне знать, если у вас возникнут вопросы.

DebanjanB 30.03.2018 07:16

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

Aayush 30.03.2018 08:01

Привет Дебанджан, Эта ссылка pythontips.com/2013/08/07/the-self-variable-in-python-explai‌ ned была действительно полезной. У вас есть такая же ссылка для Unittest?

Aayush 31.03.2018 07:04

@Aayush Пройдите по ссылкам в Примечание А и Примечание B, которые охватывают основные понятия.

DebanjanB 31.03.2018 12:28

Привет, Дебанджан, у меня есть одно сомнение в следующих строках «class Iframe (unittest.TestCase):: Класс testcase унаследован от unittest.TestCase. Наследование от класса TestCase - это способ сообщить модулю unittest, что это тестовый набор». Разве в этом нельзя просто написать вот так - класс Iframe (TestCase)?

Aayush 09.04.2018 03:27

Другие вопросы по теме