在自动化测试的过程中,可能会遇到来自浏览器的权限提示(摄像头、麦克风),今天,就讨论一下如何结局这个问题。

先来认识一下来自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浏览器的问题,咱们下次再聊

最新文章

  1. HTML5火焰文字特效DEMO演示
  2. Secure Digital
  3. Java的位运算符—— 与(&)、非(~)、或(|)、异或(^)
  4. C#操作Word (2)-- 打开&关闭Word文档
  5. mac里vmware fusion桥接设置
  6. CSS3渐变(Gradients)-线性渐变
  7. ThinkPHP框架二
  8. 必应词典英语学习APP案例分析
  9. Spring IOC容器分析(2) -- BeanDefinition
  10. 关于第一次使用vue-cli
  11. Mybatis 系列4
  12. sqlserver—数据完整性(理论篇)
  13. 测试输出System.err与System.out
  14. Qt学习2---信号与槽
  15. OpenStack实践系列④计算服务Nova
  16. sed 简单修改配置文件ip地址
  17. hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)
  18. 【java】System.out重定向到文件,并重定向会console上
  19. JWT(Json web token)认证详解
  20. The 6 inspectors in XCode

热门文章

  1. codeforces 632C
  2. UVA1328 Period【KMP/周期串/循环节】By cellur925
  3. c++ 优先级大全
  4. python堆排序实现TOPK问题
  5. Python文件将日志文件中每天的日志拿出来
  6. UWP 剪贴板
  7. Monitor CodeForces - 846D
  8. HttpURLConnection 发送PUT请求 json请求体 与服务端接收
  9. logging模块进阶
  10. PKU_campus_2018_A Wife