ТЕЛО и пользовательский интерфейс?

Я полагаю, что в каждом методе тестирования вы создаете новый экземпляр webrdiriver (например, driver = webdriver.Chrome(). Если у вас много тестов, это требует небольших затрат ресурсов. Попробуйте создать методы setUp () и tearDown (), в которых вы готовите и очищайте ваши данные перед каждым тестом.

Так это будет выглядеть так:

import unittest
from selenium import webdriver

class SearchText(unittest.TestCase):
    def setUp(self):
        # create a new Firefox session
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.driver.maximize_window()
        # navigate to the application home page
        self.driver.get("http://www.google.com/")

    def tearDown(self):
        # close the browser window
        self.driver.quit()
5
задан Péter Török 17 October 2010 в 14:09
поделиться

2 ответа

Вы изучили шаблоны презентации (неполные записи Martin Fowler)? Я склонен использовать Модель Презентации для сложных представлений и Автономного Представления для тривиальных представлений. Модель презентации дает Вам гибкую установку, и можно легко протестировать эти классы.

3
ответ дан 15 December 2019 в 01:12
поделиться

Я думаю, что Вы в значительной степени правы. Представление данных, возможно, должно было бы быть "неуклюже экранный из гибрида, агрегированные данные", если это - то, что хороший пользовательский опыт диктует для Вашего приложения. Для UI удобство использования UI более важно, чем попытка придерживаться кодирования принципов разработки. Принципы разработки для кода не должны диктовать способ, которым пользовательский интерфейс смотрит или работает. Затем Вы только заканчиваете с твердыми формами и представлениями, которые имеют смысл для кода. Сделайте то, что имеет смысл для пользователя.

Это сказанное шаблону MVC/MVP нравится упомянутый выше, мог все еще помочь. Разделите представление от предъявителя. Тем путем можно все еще изолировать представление и сохранить SRP для представления. Ваш предъявитель является тем, который должен был бы нарушить SRP и будет иметь несколько причин изменения.

1
ответ дан 15 December 2019 в 01:12
поделиться