在自动化测试的过程中,可能会遇到来自浏览器的权限提示(摄像头、麦克风),今天,就讨论一下如何结局这个问题。
先来认识一下来自Firefox的权限提示,访问一个需要摄像头或者麦克风的网站
你可能觉得,一个弹窗而已,alert就可以解决呀,但是很抱歉,你定位不到“允许”和“不允许”的按钮
你可能觉得,我吧“记住此决定”勾上,然后选择“允许”,不就可以了吗,但是很抱歉,webdriver.Firefox()调起来的永远是一个干干净净的浏览器,你的设置,无效
那么关键点来了,我如何让webdriver.Firefox()调起一个含有配置信息的浏览器?
在我们的电脑上,存在着这样一个Firefox的文件夹,里面存放着默认的浏览器配置,我们每次手动打开的都是这个配置文件下的浏览器
参考路径如下C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles
webdriver.Firefox()的另一个使用方法:webdriver.Firefox("配置文件路径")
我们可以选择将上述的xxx.default添加进去,但如果我们的浏览器中存放了很多书签,或者有比较多的缓存,测试的效果和速度就会降低,
因此我们来配置一个新的
1.打开Firefox,在地址栏输入about:profiles,进入配置界面
2.点击“创建新的配置”,点击“下一步”
3.为你的配置文件起个名字,点击“完成”。
红框中显示的是你的配置文件将会保存的位置,你可选择“选择文件夹”自定义保存位置,也可以使用默认
4.查看配置文件
当前页面滑动到最下面就可以看到我们新建的文件了,你也可以将它设置为默认配置文件
5.调用配置文件
手动登录你要测试的网站,弹出权限提示的时候,设置为“允许”,“记住此决定”,再次使用代码进行测试的时候,就没有权限提示啦。
driver = webdriver.Firefox("C:\\Users\\Administrator\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\8amzwdw2.selenium")
Google浏览器的问题,咱们下次再聊