Задать вопрос
@adun3

Написал тесты, как теперь их запустить в докере?

Здравствуйте!
Написал 2 небольших теста, на проверку логина и работоспособность ссылок по сайту: 1.py, 2.py
они почти одинаковые, вот один из них:
# -*- coding: utf-8 -*-
from selenium import webdriver
from pyvirtualdisplay import Display
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re

class LoginTest(unittest.TestCase):
    def setUp(self):
        self.display = Display(visible=0, size=(1280, 1024))
        self.display.start()
        self.driver = webdriver.Chrome(executable_path='/home/chingis/selenuim/chromedriver')
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_1(self):
        links = ["http://127.0.0.1:8000/login", "http://127.0.0.1:8000/popular/", "http://127.0.0.1:8000/upcoming/", "http://127.0.0.1:8000"]
        driver = self.driver
        for link in links:
            driver.get(link)
            msg = "error with link" + link
            self.assertTrue(driver.find_element_by_class_name("classname"), msg)

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

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

Тут несколько вопросов возникает. AssertTrue не выдает ошибку(нерабочую ссылку), но там ясно куда копать(try except надо посмотреть, в питоне пока как в джунглях).
1) Как быть с несколькими браузерами(тут только 1)? Написать функцию, которая возвращает драйвер?
2) Как теперь с этими 2мя тестами втиснуться в докер(1 файл кажется с инструкциями)?
3) Если есть тест на логин, в том же тесте надо и логаут протестить?
Извините за мою лень, завтра пойду сам искать, может кто направит быстрее. Спасибо.
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы