我正在尝试测试给定CSS中定义的不同视区大小和媒体的某些UI元素的特性。我有一个设置函数来实例化一个无头Chrome浏览器,我相信默认的视窗大小为800x600:
class NewDesktopVisitorTest(StaticLiveServerTestCase):
def setUp(self):
self.chrome_options = Options()
self.chrome_options.add_argument('--headless')
self.browser = webdriver.Chrome(options=self.chrome_options)
这对测试桌面版的页面效果很好,但我也希望确保移动版呈现出我所期望的效果。我可以用不同的设置创建一个完全独立的类,并指定视区大小,如下所示:
class NewMobileVisitorTest(StaticLiveServerTestCase):
def setUp(self):
self.chrome_options = Options()
self.chrome_options.add_argument('--headless')
self.chrome_options.add_argument('--window-size=375,800')
self.browser = webdriver.Chrome(options=self.chrome_options)
这样做的好处是非常清楚地显示给定测试失败的位置(即桌面或移动设备)。问题是,我希望对两个(可能是多个)视区大小运行完全相同的测试,并且不希望在多个类中维护完全相同的测试。
我搜索的大多数参数化测试都会得到针对不同数据集运行相同测试的解决方案,但我还没有找到针对多个启动配置设置和运行相同测试的解决方案示例。
有人找到解决这个问题的直截了当的办法吗?