Я запускаю свои разные размеры в for
l oop, чтобы выполнить итерацию list
размеров окна, поэтому мне не нужно снова писать одни и те же тесты.
XS = [320, 568]
SM = [568, 320]
MD = [768, 1024]
LG = [1024, 768]
XL = [1200, 750]
WINDOW_SIZES = [XS, SM, MD, LG, XL]
# Loops through all of the sizes.
for window in WINDOW_SIZES:
# Set the window size [320,568], etc...
driver.set_window_size(window[0],window[1])
# Load the page you want to test.
driver.get('mypage')
# rest of test assertions
I также сделал метод, который делает это немного проще:
def get_page(self, url_extention, window=XS):
return (
driver.set_window_size(window[0], window[1]),
driver.get(self.live_server_url + url_extention)
)
Затем в тесте я могу запустить
self.get_page('mysite', window=window) # or MD if that is all I want to test
Я обычно начинаю со всех из них, а затем (аналогично bootstrap) когда я двигаюсь вверх по размеру окна, меняя то, что мне нужно. Так что для MD
и выше:
# Tests small sizes.
def test_mypage(self):
self.get_page('mysite', window=window)
self.assert('Assertions for all sizes')
# Tests larger sizes.
def test_mypage_MD(self):
self.get_page('mysite', window=[MD,LG,XL])
self.assert('The things that are different from the previous test')
PS - я знаю, что мои точки останова отличаются от Bootstraps.