@@ -18,28 +18,32 @@ class LighthouseRunner(object):
1818 report (LighthouseReport): object with simplified report
1919 """
2020
21- def __init__ (self , url , form_factor = 'mobile' , quiet = True ):
21+ def __init__ (self , url , form_factor = 'mobile' , quiet = True ,
22+ additional_settings = None ):
2223 """
2324 Args:
2425 url (str): url to test
2526 form_factor (str, optional): either mobile or desktop,
2627 default is mobile
2728 quiet (bool, optional): should not output anything to stdout,
2829 default is True
30+ additional_settings (list, optional): list of additional params
2931 """
3032
3133 assert form_factor in ['mobile' , 'desktop' ]
3234
3335 _ , self .__report_path = tempfile .mkstemp (suffix = '.json' )
34- self ._run (url , form_factor , quiet )
36+ self ._run (url , form_factor , quiet , additional_settings )
3537 self .report = self ._get_report ()
3638 self ._clean ()
3739
38- def _run (self , url , form_factor , quiet ):
40+ def _run (self , url , form_factor , quiet , additional_settings = None ):
3941 report_path = self .__report_path
4042
43+ additional_settings = additional_settings or []
44+
4145 try :
42- subprocess . check_call ( ' ' . join ( [
46+ command = [
4347 'lighthouse' ,
4448 url ,
4549 '--quiet' if quiet else '' ,
@@ -48,7 +52,10 @@ def _run(self, url, form_factor, quiet):
4852 '--emulated-form-factor={0}' .format (form_factor ),
4953 '--output=json' ,
5054 '--output-path={0}' .format (report_path ),
51- ]), shell = True )
55+ ]
56+
57+ command = command + additional_settings
58+ subprocess .check_call (' ' .join (command ), shell = True )
5259 except subprocess .CalledProcessError as exc :
5360 msg = '''
5461 Command "{0}"
0 commit comments