@@ -23,8 +23,7 @@ module Selenium
2323 module WebDriver
2424 module Firefox
2525 describe Driver , exclusive : { browser : :firefox } do
26- let ( :extension ) { '../../../../../../third_party/firebug/favourite_colour-1.1-an+fx.xpi' }
27- let ( :extension_dir ) { '../../../../../../common/extensions/webextensions-selenium-example' }
26+ let ( :extensions ) { '../../../../../../common/extensions/' }
2827
2928 describe '#print_options' do
3029 let ( :magic_number ) { 'JVBER' }
@@ -66,27 +65,79 @@ module Firefox
6665 end
6766
6867 describe '#install_addon' do
69- it 'with path as parameter' do
70- ext = File . expand_path ( extension , __dir__ )
71- driver . install_addon ( ext )
68+ it 'install and uninstall xpi file' do
69+ ext = File . expand_path ( "#{ extensions } /webextensions-selenium-example.xpi" , __dir__ )
70+ id = driver . install_addon ( ext )
71+
72+ expect ( id ) . to eq '[email protected] ' 73+ driver . navigate . to url_for ( 'blank.html' )
74+
75+ injected = driver . find_element ( id : "webextensions-selenium-example" )
76+ expect ( injected . text ) . to eq "Content injected by webextensions-selenium-example"
77+
78+ driver . uninstall_addon ( id )
79+ driver . navigate . refresh
80+ expect ( driver . find_elements ( id : 'webextensions-selenium-example' ) ) . to be_empty
7281 end
7382
74- it 'with temporary as parameter' do
75- ext = File . expand_path ( extension , __dir__ )
76- driver . install_addon ( ext , true )
83+ it 'install and uninstall signed zip file' do
84+ ext = File . expand_path ( "#{ extensions } /webextensions-selenium-example.zip" , __dir__ )
85+ id = driver . install_addon ( ext )
86+
87+ expect ( id ) . to eq '[email protected] ' 88+ driver . navigate . to url_for ( 'blank.html' )
89+
90+ injected = driver . find_element ( id : "webextensions-selenium-example" )
91+ expect ( injected . text ) . to eq "Content injected by webextensions-selenium-example"
92+
93+ driver . uninstall_addon ( id )
94+ driver . navigate . refresh
95+ expect ( driver . find_elements ( id : 'webextensions-selenium-example' ) ) . to be_empty
7796 end
7897
79- it 'with path as unpacked directory' do
80- ext = File . expand_path ( extension_dir , __dir__ )
81- driver . install_addon ( ext , true )
98+ it 'install and uninstall unsigned zip file' do
99+ ext = File . expand_path ( "#{ extensions } /webextensions-selenium-example-unsigned.zip" , __dir__ )
100+ id = driver . install_addon ( ext , true )
101+
102+ expect ( id ) . to eq '[email protected] ' 103+ driver . navigate . to url_for ( 'blank.html' )
104+
105+ injected = driver . find_element ( id : "webextensions-selenium-example" )
106+ expect ( injected . text ) . to eq "Content injected by webextensions-selenium-example"
107+
108+ driver . uninstall_addon ( id )
109+ driver . navigate . refresh
110+ expect ( driver . find_elements ( id : 'webextensions-selenium-example' ) ) . to be_empty
82111 end
83- end
84112
85- describe '#uninstall_addon' do
86- it 'uninstalls based on id' do
87- ext = File . expand_path ( extension , __dir__ )
113+ it 'install and uninstall signed directory' do
114+ ext = File . expand_path ( "#{ extensions } /webextensions-selenium-example-signed/" , __dir__ )
88115 id = driver . install_addon ( ext )
116+
117+ expect ( id ) . to eq '[email protected] ' 118+ driver . navigate . to url_for ( 'blank.html' )
119+
120+ injected = driver . find_element ( id : "webextensions-selenium-example" )
121+ expect ( injected . text ) . to eq "Content injected by webextensions-selenium-example"
122+
123+ driver . uninstall_addon ( id )
124+ driver . navigate . refresh
125+ expect ( driver . find_elements ( id : 'webextensions-selenium-example' ) ) . to be_empty
126+ end
127+
128+ it 'install and uninstall unsigned directory' do
129+ ext = File . expand_path ( "#{ extensions } /webextensions-selenium-example/" , __dir__ )
130+ id = driver . install_addon ( ext , true )
131+
132+ expect ( id ) . to eq '[email protected] ' 133+ driver . navigate . to url_for ( 'blank.html' )
134+
135+ injected = driver . find_element ( id : "webextensions-selenium-example" )
136+ expect ( injected . text ) . to eq "Content injected by webextensions-selenium-example"
137+
89138 driver . uninstall_addon ( id )
139+ driver . navigate . refresh
140+ expect ( driver . find_elements ( id : 'webextensions-selenium-example' ) ) . to be_empty
90141 end
91142 end
92143
0 commit comments