之前有需求需要操作Chrome中的dom元素,没做过这个,但是网上关于这个方面的资料比较少,所以自己捣腾了几天,在知道.net中有这个玩意. 但是一百度,全是关于java,python的而c#的那是一个少.当然对其中的操作我还有很多不了解,这里我只是提出来c#是可以操作非IE的浏览器的. public override void LoadApplication() { #region MyRegion Process[] processes = Process.GetProcessesByNam…
下面将模拟一个WebDriver关闭浏览器的操作 测试用例场景 在一个自动化测试脚本运行完毕后,我们很可能会采取关闭浏览器的操作,而关闭浏览器的常用操作有如下两种: close quit close 方法关闭当前的浏览器窗口 quit   方法不仅关闭窗口,还会彻底的退出webdriver,释放与driver server之间的连接. Python脚本 from selenium import webdriver import time dr = webdriver.Firefox() prin…
上来先来一个图: 在使用webdriver操作Firefox浏览器的时候,一路顺畅.可是在最后关闭浏览器后,出现了如上面图示的警告!这个警告很早就出现了,因为也不影响测试结果,也就一直没理. 后来新搭建了一个windows虚拟机,也遇到了同样的问题.但是这次出现警告后,会阻塞住webdriver继续执行.一直到手动关闭了这个警告框才能继续执行.不得不处理一下. 我处理的办法是:直接把Plugin Container for Firefox.exe 删除或是重命名.让他直接不用启动,自然就不会崩溃…
Python3 WebDriver操作cookie的方法 WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. WebDriver操作cookie的方法: get_cookies(): 获得所有cookie信息. get_cookie(name): 返回字典的key为“name”的cookie信息. add_cookie(cookie_dict) : 添加cookie.“cookie_dict”指字典对象,必须有name 和value 值. delete_c…
官方是支持在非微信内置浏览器中调起微信支付的!H5支付是基于公众号基础开发的一种非微信内浏览器支付方式(需要单独申请支付权限),可以满足在微信外的手机H5页面进行微信支付的需求.同时,由于H5链接传播十分方便.来源不易追踪,商户需要特别注意做好防钓鱼.防刷单的处理,控制风险. 流程原理 接口说明 (1)用户打开商户H5网页选购商品,生成支付订单:(2)商户调用[统一下单]接口(接口中trade_type需定义为WAP),获得预支付交易会话标识prepayid:(3)商户按照微信H5支付协议生成d…
如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐) 2013-09-10 16:01 2152人阅读 评论(0) 收藏 举报 在IE浏览器下,xmlDom对象一般这样被定义: var xmlDom= new ActiveXObject("Microsoft.XMLDOM"); 为了兼容Firefox,需要修改为: if (window.ActiveXObject){ var xmlDom=…
执行语句 console.log(new Date("2017-07-04 18:40").getTime()); 在IE浏览器中打印出:NAN 在非IE浏览器中打印出:1499164800000 执行语句 console.log(new Date("2017/07/04 18:40").getTime()); 在IE浏览器中打印出:1499164800000 在非IE浏览器中打印出:1499164800000 可见对于日期字符串最好用“/”连接,以免出现兼容性问题…
解决Uploadify上传控件在非IE浏览器中不工作,需要做如下2步修改: 1.Global.asax文件中,实现Application_BeginRequest函数: void Application_BeginRequest(object sender, EventArgs e) { try { string session_param_name = "ASPSESSID"; string session_cookie_name = "ASP.NET_SessionId&…
以Chrome为例: 第一步:在程序中设置断点. 第二步:右键点击web应用程序的起始页(.html或.aspx文件),选择"浏览方式",选中Chrome或其它非IE浏览器,点"浏览" 第三步:点击VS2010菜单"调试"->"附加到进程",在打开的窗口中,找到"类型"列包含"Silverlight"的Chrome进程,选中后点"附加"按钮,即进入Chrome调…
网上方法很多,例如,测试后得出以下结论,多余的话不说了,直入主题: 1.所有的推理IE浏览器 正解:此写法仅仅被lE浏览器识别,非IE浏览器不识别. <!--[if IE]> <style type="text/css"> --/*详细的样式*/ </style> <![endif]--> 误解:下面写法IE和非IE浏览器都能识别 <!–[if IE]> <style type="text/css"&…
一.首先先确定H5支付权限已经申请! 二.开发流程 1.用户在商户侧完成下单,使用微信支付进行支付 2.由商户后台向微信支付发起下单请求(调用统一下单接口)注:交易类型trade_type=MWEB 3.统一下单接口返回支付相关参数给商户后台,如支付跳转url(参数名“mweb_url”),商户通过mweb_url调起微信支付中间页 4.中间页进行H5权限的校验,安全性检查(此处常见错误请见下文) 5.如支付成功,商户后台会接收到微信侧的异步通知 6.用户在微信支付收银台完成支付或取消支付,返回…
事件绑定函数的demo如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="UTF-8"/> <title>测试事件绑定函数</title> <scrip…
本文主要记录下在使用selenium2/webdriver时启动各种浏览器的方法.以及如何加载插件.定制浏览器信息(设置profile)等 环境搭建可参考我的另一篇文章:http://www.cnblogs.com/puresoul/p/3483055.html 一.Driver下载地址: http://docs.seleniumhq.org/download/ 二.启动firefox浏览器(不需要下载驱动,原生支持) 1.firefox安装在默认路径下: //启动默认安装路径下的ff publ…
场景描述: 我们都知道IE浏览器和非IE浏览器都有很多功能一样但写法不同,或者各自都有一些自己独特的方法,那么为了保持兼容性和便于编写,我们可以通过这两个方法给非IE浏览器的对象增加自己没有,但IE有且和IE同名的属性,比如: if (/Firefox/.test(navigator.userAgent)) { var $E = function () { var c = $E.caller; while (c.caller) c = c.caller; return c.arguments[0…
下面将使用webdriver来控制浏览器窗口的大小 测试用例场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟sikuli结合,使用sikuli操作flash: 在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被测页面的前端样式进行评测.比如可以将浏览器设置成移动端大小(320x480),然后访问移动站点,对其样式进行评估: Python脚…
由于本人的学习定位是基于Selenium+WebDriver+Python+FireFox+Eclipse+Pydev, 所以我的笔记也只和这方面相关. 我打算先学习基于Python脚本WebDriver的常用操作. 在学习本篇章之前,要先学习Selenium-IDE 和 Selenium-RC的一些基础知识,以及做好Python脚本的WebDriver的客户端配置. 下面开始记录我的WebDriver常用操作学习过程. 测试用例场景 使用WebDriver打开FireFox浏览器 Python…
描述 本文主要是针对Chrome 62 , firefox57 ,和IE11 三个版本的操作.相关的driver .可点击以下链接.所有的driver 建议放在浏览器的目录下,本文中所有的driver都放置在对应的浏览器根目录下. https://files.cnblogs.com/files/linxinmeng/IE11_win10_3.5.zip https://files.cnblogs.com/files/linxinmeng/Firefox57_win10_java1.8.zip h…
断言 assert self.driver.title.find(u"搜狗搜索引擎")>=0, "assert error" 浏览器后退,前进,前进前要先后退 self.driver.back() self.driver.forward() 浏览器强制刷新 self.driver.refresh() 浏览器屏幕最大化,做自动化操作页面时最好先最大化 self.driver.maximize_window() 设置当前浏览器在屏幕上的位置 self.driver…
1.简单对象的定位-----自动化测试的核心 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道.楼层.门牌找到这个人.那么一个对象也有类似的属性,我们可以通过这个属性找到这对象. 2.webdriver提供了一系列的对象定位方法,常用的有以下几种 · id · name · class name · link text · partial link text · …
1.浏览器最大化 启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行. #coding=utf-8 from selenium import webdriver import time browser = webdriver.Firefox() browser.get("http://www.baidu.com") time.sleep(2) print "浏览器最大化" browser.maximize_window() #将浏…
Step1: 下载chromedriver. 下载路径: http://chromedriver.storage.googleapis.com/index.html 选择一个合适的下载即可.我下载的是2.20版本的chromedriver_win32.zip ,解压之后得到chromedriver.exe . Step2: 放置chromedriver.exe 在跟项目包平行的地方新建一个包,比如”lib",然后将 chromedriver.exe拷贝到lib下. Step3: 添加 webdr…
V1.0版本:直接新建WebDriver使用 import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IETest { public static void main(String[] args) { WebDriver wd = new InternetExplorerDriver(); wd.get("http://www.baidu.co…
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档(HTML文档),对象是指文档中每个元素:模型是指抽象划的东西. 2.Windows对象操作 一.属性和方法 属性(值或者子对象) opener:打开当前窗口的源窗口,如果当前窗口是首次启动浏览器打开的,则opener是null. dialogArgument:对话框返回值. 子对象:history历史记录,location地址栏,document,status状态栏,menubar菜单栏,toolbar工具栏等 方法…
1.在IE浏览器上运行测试脚本,首先需要下载IEDriverServer.exe(http://code.google.com/p/selenium/downloads/list,根据浏览器的版本下载32位或者64位的driver),放在IE浏览器的安装目录且同级目录下,脚本如下: 注意:需要将IE浏览器各个区域的保护模式设置的一样,要么全勾选,要么全不勾选,工具--Internet选项--安全.还需要将页面的缩放比例设置为100%.import osfrom selenium import w…
有时候 web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素, 这个时候就要控制页面滚动条的拖动, 但滚动条并非页面上的元素, 可以借助 JavaScript是来完成操作.一般用到操作滚动条的会两个场景: 注册时的法律条文的阅读,判断用户是否阅读完成的标准是:滚动条是否拉到最下方. 要操作的页面元素不在视觉范围,无法进行操作,需要拖动滚动条用于标识滚动条位置的代码<body onload= "document.body.scrollTop…
在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过switch_to_frame()方法将当前定位的主体切换了frame 里. 在上面的html 代码中通过iframe 表单嵌入一个百度页面,通过浏览器打开如下图 图4.9 iframe 嵌入百度首页这个时候直接定位百度的输入框一定会报找不到元素的错误.那么可以使用switchTo().frame()先找到f…
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档(HTML文档),对象是指文档中每个元素:模型是指抽象划的东西. 2.Windows对象操作 一.属性和方法 属性(值或者子对象) opener:打开当前窗口的源窗口,如果当前窗口是首次启动浏览器打开的,则opener是null. dialogArgument:对话框返回值. 子对象:history历史记录,location地址栏,document,status状态栏,menubar菜单栏,toolbar工具栏等 方法…
一.环境及需求 1.1环境 Windows10 + Python 3.6.4 + selenium 3.141 1.2需求 工作需要实现一个网页自动登录的操作,决定使用selenium+python实现 selenium 是一个web的自动化测试工具,主流一般配合java或者python使用, 我这里使用的是python,可支持的浏览器基本包括所有主流浏览器IE.Mozilla Firefox.Google Chrome. 二.环境配置 2.1 python安装 直接在官网下载python安装包…
1.控制浏览器大小 set_window_size() 设置浏览器大小 该方法有两个参数,第一个参数是宽,第二个是高 maximize_window() 设置浏览器全屏显示,无参数 chrome谷歌浏览器在控制浏览器大小时,报错 : unknown error: cannot get automation extension 解决办法:将chrome的webdriver驱动更新到最新的 参考网上:http://blog.csdn.net/lj2tj/article/details/5308234…
我们都知道,Linq能查询泛型集合,确切的说是:LINQ能实现查询泛型对象或者实现了IEnumerable.但是,很遗憾的是诸如ArrayList这样的非泛型集合并没有实现IEnumerable.那咋办呢?总不能把这么绚丽的Linq技术对非泛型关上大门把!~其实,方法还是有的. 场景还原: 定义一个car的类: class Car { public int CurrentSpeed; public int MaxSpeed; public string PetName; } 对ArrayList…