15 популярных вопросов и ответов на QA-интервью (Python + Selenium + API)

🔍 Хочешь работать тестировщиком, но не знаешь, где искать вакансии для Junior?
Мы уже всё нашли за тебя! Подписывайся и получай лучшие предложения 🚀 в нашем Telegram канале "Вакансии QA".

Если у вас впереди собеседование на позицию QA-специалиста, где нужно знание Python, Selenium или тестирования API, — тогда вам сюда.

1. Сравнение List, Tuple и Set в Python

Кратко:

Используйте list для изменяемых коллекций, tuple — для неизменяемых, и set, если вам нужны только уникальные значения.

2. Что такое генератор списков (List Comprehension)?

Это компактный и удобный способ создавать списки в Python.

squares = [x**2 for x in range(5)]  # [0, 1, 4, 9, 16]

Можно добавить условия:

even_squares = [x**2 for x in range(10) if x % 2 == 0]

3. Lambda-функция vs обычная функция

# Lambda
add = lambda a, b: a + b
# Normal function
def add(a, b):
    return a + b

✅ Используйте лямбду для простых одноразовых функций.

4.Что такое декоратор в Python?

Декораторы добавляют дополнительное поведение к функции, не меняя саму функцию.

def decorator(func):
    def wrapper():
        print("Before")
        func()
        print("After")
    return wrapper
@decorator
def greet():
    print("Hello")

5. Работа с файлами в Python

with open("file.txt", "r") as f:
    data = f.read()

Используйте with, чтобы автоматически закрыть файл.

6. Implicit, Explicit и Fluent ожидания в Selenium

Тип ожиданияЧто делаетГде используется
Implicit Ждет появления любого элементаУстанавливается глобально, применяется везде
ExplicitЖдет конкретный элементПодходит для динамического контента
FluentТо же, что explicit, но с интервалом опроса и игнорированием ошибокОтлично работает с флейковыми элементами

✅ Совет: используйте явные ожидания (explicit) и не комбинируйте их с неявными (implicit), чтобы избежать багов.

7. Работа с выпадающими списками (dropdown) в Selenium

from selenium.webdriver.support.ui import Select
dropdown = Select(driver.find_element(By.ID, "country"))
dropdown.select_by_visible_text("India")

8. Переключение между окнами в Selenium

main = driver.current_window_handle
for handle in driver.window_handles:
    if handle != main:
        driver.switch_to.window(handle)

Используйте .switch_to.window(handle), чтобы переключиться на нужное окно или вкладку.

9. Обработка всплывающих alert-окон в Selenium

alert = driver.switch_to.alert
print(alert.text)
alert.accept()  # or alert.dismiss()

10. Как работать с iframe в Selenium

driver.switch_to.frame("iframe_id")
# interact inside iframe
driver.switch_to.default_content()

11. Что такое Page Object Model (POM)?

Отделите логику от взаимодействия с UI, создавая отдельные классы для каждой страницы.

Пример:

class LoginPage:
    def __init__(self, driver):
        self.driver = driver
        self.username = driver.find_element(By.ID, "username")
    def login(self, user, pwd):
        self.username.send_keys(user)

✅ Преимущества: упрощает поддержку и повторное использование кода.

12. Что такое API? Что такое REST?

  • API — это интерфейс, который позволяет системам взаимодействовать друг с другом.
  • REST — это архитектурный стиль, использующий стандартные HTTP-методы (GET, POST, PUT, DELETE).

Пример:

GET /users → возвращает данные пользователей

13. Проверка API в Postman

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

Проверяем наличие поля в ответе:

pm.expect(jsonData).to.have.property("userId");

14. Тестирование API на Python с использованием requests

import requests
response = requests.get("https://jsonplaceholder.typicode.com/posts/1")
assert response.status_code == 200
print(response.json())

15. Тестирование POST API в Python

payload = {
    "title": "foo",
    "body": "bar",
    "userId": 1
}
response = requests.post("https://jsonplaceholder.typicode.com/posts", json=payload)
assert response.status_code == 201

Перевод статьи «Crack Your QA Interview: 15 Most Common Questions with Answers (Python + Selenium + API)».

🔥 Какой была ваша первая зарплата в QA и как вы искали первую работу? 

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Читать в телеграм

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *