@kis-kis

Почему не запускается автотест?

Привет.
Пожалуйста, помогите начинающему автотестеру разобраться в его ошибках.
Может быть, полезными ссылочками поделитесь :-)
Адрес ресурса изменён, доступа извне к нему нет.
Следующий код работает:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
#Получение даты от начала эпохи в секундах, вычитание/сложение секунд в сутках, перевод в указанный 
#формат даты и преобразование в string для заполнения промежутка времени в поиске
datefrom = str(time.strftime('%d.%m.%Y %H:%M:%S', time.localtime(time.time() - 86400)))
datetill = str(time.strftime('%d.%m.%Y %H:%M:%S', time.localtime(time.time() + 86400)))

def logIn():
    # driver.maximize_window()
    driver.get('http://127.0.0.1/Account/LogOn')
    input_field = driver.find_element_by_id('Login')
    input_field.send_keys('root')
    input_field = driver.find_element_by_id('Password')
    input_field.send_keys('root')
    time.sleep(1)
    input_field.send_keys(Keys.ENTER)
    time.sleep(1)
    driver.get('http://127.0.0.1/Admin/Tools')
    time.sleep(1)
    driver.get('http://127.0.0.1/Banners')
    input_field = driver.find_element_by_id('DateFrom')
    input_field.send_keys(datefrom)
    input_field = driver.find_element_by_id('DateTill')
    input_field.send_keys(datetill)
    input_field.send_keys(Keys.ENTER)

    if driver.find_element_by_xpath("//span[@class='objects']") == 0:
        report_to_file = open('C:\Баннеры_наличие.txt', 'w')
        report_to_file.write('Баннеры не обнаружены')
        report_to_file.close()
        print('Баннеры не обнаружены')
    else:
        report_to_file = open('C:\Баннеры_наличие.txt', 'w')
        report_to_file.write('Баннеры обнаружены')
        report_to_file.close()
        print('Баннеры обнаружены')

logIn()


Далее код, который не работает:

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

class BannersSearch(unittest.TestCase):

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

    def logIn(self):
        driver.get('http://127.0.0.1/Account/LogOn')
        self.assertIn("Portal", self.driver.title)
        input_field = self.driver.find_element_by_id('Login')
        input_field.send_keys('root')
        input_field = self.driver.find_element_by_id('Password')
        input_field.send_keys('root')
        time.sleep(1)

    def existingBanners(self):
        datefrom = str(time.strftime('%d.%m.%Y %H:%M:%S', time.localtime(time.time() - 86400)))
        datetill = str(time.strftime('%d.%m.%Y %H:%M:%S', time.localtime(time.time() + 86400)))
        self.driver.get('http://127.0.0.1/Admin/Tools')
        time.sleep(1)
        self.driver.get('http://127.0.0.1/Banners')
        input_field = self.driver.find_element_by_id('DateFrom')
        input_field.send_keys(datefrom)
        input_field = self.driver.find_element_by_id('DateTill')
        input_field.send_keys(datetill)
        input_field.send_keys(Keys.ENTER)
        assert "No banners found." not in self.driver.page_source

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

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


Во втором варианте в консоли отображается
Ran 0 tests in 0.000s

OK

Process finished with exit code 0
Empty test suite.

Моя задача - "опрокидывать" выполнение теста, если что-то в указанный промежуток (например, баннеры) не найдены
и писать это в отчёт теста, а не в .txt файлы, как в первом варианте.
  • Вопрос задан
  • 850 просмотров
Пригласить эксперта
Ответы на вопрос 2
@valera-glukhovtsev
IT-шник/Тестировщик/QA
Для UNIT тестов в питоне нужно создавать тестируемый класс. От него командой pythoscope "имя класса.py" создаётся тестовый класс, в котором описываются тестовые методы.
Ответ написан
Комментировать
@Norkotik
В названии теста слова test нету
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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