页面自动化时安全证书弹出框的问题。

安全证书弹出框是网页自动化测试遇到的最头疼的问题了,没有之一。凡是能通过webdriver定位到并解决的问题都不是问题,显然安全证书弹出框不在此列。所以以前我都是在本地写自动化用例,然后启动的时候设置等待5秒,这5秒就是给我反应时间去点击证书的取消按钮。如今为了做成一个小框架,能和其他测试系统对接,并且让用户可以在其他系统通过调接口的方式并发完成多个系统页面的自动化,这个问题是不得不解决了。

幸好已经解决了,以chromeDriver为例,不是网上所谓的设置ChromeOptions,那根本就没用。我目前是通过java图形界界面解决,是的,就是几乎已经绝迹了的java.awt和其相关包。既然安全证书弹出框是系统弹出而不是浏览器弹出的,那就不要想着通过webDriver来解决,直接通过图形界面来解决。

Robot r;

r = new Robot();

r.keyPress(KeyEvent.VK_ESCAPE);

r.keyRelease(KeyEvent.VK_ESCAPE);

简简单单就OK了。 当然这之前和之后要先让线程sleep。而且打开浏览器必须放到线程里来做,因为webdriver打开浏览器遇到安全证书弹出框时,会一直卡在这,代码不会往下走的。

果然还是不能有见只障,学过的只是要融合在一起使用。

时间: 2024-07-30 10:05:00

页面自动化时安全证书弹出框的问题。的相关文章

在ASP.NET MVC4中实现同页面增删改查,无弹出框02,增删改查界面设计

在上一篇"在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建"中,已经搭建好了Repository层,本篇就剩下增删改查的界面了......今天的阳光真特么好,写完本篇,好出去在阳光下溜溜狗.散散步什么的,正所谓文武之道一张一弛,走神了,进入正题. 首先是一个View Model,在这里定义验证规则,提交和保存数据的时候还必须和领域模型映射. using System; using System.ComponentModel.DataAnnotat

在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建

通常,在同一个页面上实现增删改查,会通过弹出框实现异步的添加和修改,这很好.但有些时候,是不希望在页面上弹出框的,我们可能会想到Knockoutjs,它能以MVVM模式实现同一个页面上的增删改查,再辅以knockout.validation.js,还可以对Model进行验证.但knockout.validation.js与ASP.NET MVC本身的验证没有做到无缝对接,不能形成一个从客户端到服务端连贯.统一的验证解决方案.关于在ASP.NET MVC中使用Knockoutjs和knockout

弹出框滑动,底部不跟着滑动

弹出框里有滚动条,并且页面也有滚动条时,在弹出框内滑动时底部页面也会跟着滑动,试了下当弹出框出现时加上$('body').css({'height','100%','overflow','hidden'});不起作用,后来在弹出框上加上以下代码便起作用了. $('body').css({ 'overflow':'hidden', 'position': 'fixed', 'top': scrollTop*(-1) }); 弹出框关闭后,再恢复 $('body').css({ 'overflow'

bootstrap-js(六)弹出框

实例 为任意元素添加一小块浮层,用于存放非主要信息. 弹出框的标题和内容的长度都是零的话将永远不会被显示出来. 初始化 由于性能的原因,工具提示和弹出框的 data 编程接口(data api)是必须要手动初始化的. 在一个页面上一次性初始化所有弹出框的方式是通过 data-toggle 属性选中 <!DOCTYPE HTML><html><head><link href="/stylesheets/bootstrap.min.css" rel

经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrowser控件中自动点击弹出框及禁用脚本提示问题得到如下几种实际情况的解决办法,绝对管用. 1.屏蔽弹出错误脚本 将WebBrowser控件ScriptErrorsSuppressed设置为True即可. (参考本篇博客:http://www.cnblogs.com/qqflying/archive/20

解决模拟弹出框情况下文档滚动的问题

用div元素来模拟弹出框很普遍,它可以自行定制各式各样的弹出框.弹出框一般用的是fixed绝对定位,也就是相对于浏览器窗口定位. 在文档高度大于窗口高度的情况下,弹出框会存在一个问题.当弹出框在显示的时候,滚动鼠标(PC端)或滑动页面(移动端)会导致文档滚动.还有在弹出框的高度也大于窗口高度时,滚动鼠标或滑动页面会先滚动弹出框,直到滚动条到头或到尾时,继续滚动弹出框仍然会导致文档的滚动. 这个问题会导致用户在隐藏弹出框返回时,页面显示不是显示弹出框前的位置.解决办法是给这个文档动态设置overf

python-selenium -- 弹出框处理

弹出框有两种:页面弹出框(可定位元素能操作).Windows弹出框(不能直接定位) 一.页面弹出框 等待弹出框出现之后,定位弹出框,操作其中元素 如: driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.maximize_window() #点击百度登录按钮 driver.find_element_by_xpath('//*[@id="u1"]//a[@name="t

使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码和在线测试地址】

项目中常常用到搜索,特别是导航类的网站.自己做关键字搜索不太现实,直接调用百度的是最好的选择.使用jQuery.ajax的jsonp方法可以异域调用到百度的js并拿到返回值,当然$.getScript也可以实现跨域调用js. jsonp快速入门: [原创]说说JSON和JSONP,也许你会豁然开朗,含jQuery用例 关于jquery.ajax的jsonp方法是用以及其error回调函数不能正确执行,请参考园长dudu的文章: jquery ajax中使用jsonp的限制 jQuery插件jQu

吐槽JS弹出框插件

一个弹出框插件,多层弹出,最重要的事情是什么?就是不管多少层,全部弹出框都可以弹出到框架最顶层,也就是top层(为什么?因为页面复杂,我要最大化!),能方便的找到弹出框里面的页面以便父窗口操作弹出框中的内容,在弹出框内的页面,能方便找到父页面(注意,不是框架最顶层),能方便操作父页面的内容.也许你会觉得页面之前耦合严重,我告诉你,这样最简单最方便最灵活最随心所欲学习成本最低!多少高手都不明白这个道理.